list/slice 切片
l=[1,2,3]
l[1:]
l[:2]
l[:-1]
l[-2:]
l[-1]
list/range
range(10)
range(3,6)
range(0, 10, 3)
list/count 统计
nums = [40, 36, 89, 2, 2, 100, 7, -20.5, -999]
print( nums.index(2) )
list/index 索引
nums = [40, 36, 89, 2, 2, 100, 7, -20.5, -999]
print( nums.index(2) )
list(p_cumsum_1 > 0).index(True)
list/sort 排序
pickers.sort(key=lambda picker: fitness_F1(picker.get_x()))
list/深拷贝
alist
blist=alist[:]
dict/{} 空dict
d={}
dict/增删改查
d={'a':1,'b':2,'c':3}
d['d']=3
del d['c']
del d
d.clear()
d['b']=22
d['a']
lambda
pickers.sort(key=lambda picker: fitness_F1(picker.get_x()))
生成式
alist=[x*x for x in range(1,11)]
a_b=[(a,b) for a in alist for b in blist]
beeid_limit = {worker.get_id(): 0 for worker in workers}
变量类型 type
type(obj)
面向对象/internal变量 __
class Particle(object):
"""
粒子
当前位置
当前速度
最佳位置
当前位置适应度
"""
def __init__(self, x_max, dim, v_max):
"""
初始化
:param x_max: 粒子位置最大值
:param dim: 粒子维度 一个粒子一个解 解的维度
:param v_max: 最大速度,速度超过最大速度则设置为最大速度
"""
self.__position = np.random.uniform(-x_max, x_max, (1, dim))
self.__velocity = np.random.uniform(-v_max, v_max, (1, dim))
self.__best_position = np.zeros((1, dim))
self.__fitness = rosenbrock_4(self.__position)
def set_position(self, position):
"""
设置粒子当前位置
:param position: 粒子当前位置
:return:
"""
self.__position = position
def get_position(self):
"""
获取粒子当前位置
:return: 粒子当前位置
"""
return self.__position
def set_best_position(self, best_position):
"""
设置粒子最佳位置
:param best_position: 粒子最佳位置
:return:
"""
self.__best_position = best_position
def get_best_position(self):
"""
获取粒子最佳位置
:return: 粒子最佳位置
"""
return self.__best_position
def set_velocity(self, velocity):
"""
设置粒子当前速度
:param velocity: 粒子当前速度
:return:
"""
self.__velocity = velocity
def get_velocity(self):
"""
获取粒子当前速度
:return: 粒子当前速度
"""
return self.__velocity
def set_fitness(self, fitness):
"""
设置粒子当前位置适应度
:param fitness: 粒子当前位置适应度
:return:
"""
self.__fitness = fitness
def get_fitness(self):
"""
获取粒子当前位置适应度
:return: 粒子当前位置适应度
"""
return self.__fitness