python知识点
作者:互联网
list/slice 切片
- 切片,前包后不包
l=[1,2,3]
# 从index 1到尾部;结果:2,3
l[1:]
# 从开始到index 2;结果:1,2,3
l[:2]
# 从开始到倒数第1个;结果:1,2
l[:-1]
# 从倒数第2个到末尾;结果:2,3
l[-2:]
# 倒数第1个;结果:3
l[-1]
list/range
range(10)
# 从0开始到9
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(3,6)
# 从3到5
# [3,4,5]
range(0, 10, 3)
# 步长为3
# [0, 3, 6, 9]
list/count 统计
# 返回第一个等于num的数的下标
nums = [40, 36, 89, 2, 2, 100, 7, -20.5, -999]
print( nums.index(2) ) # 输出3
list/index 索引
# 返回第一个等于num的数的下标
nums = [40, 36, 89, 2, 2, 100, 7, -20.5, -999]
print( nums.index(2) ) # 输出3
# 返回第1个p_cumsum_1大于0的索引
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
# lambda 集合元素做入参: return 表达式(使用入参)
pickers.sort(key=lambda picker: fitness_F1(picker.get_x()))
生成式
# list 生成式
alist=[x*x for x in range(1,11)]
a_b=[(a,b) for a in alist for b in blist]
# dict生成式
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: 最大速度,速度超过最大速度则设置为最大速度
"""
# 粒子当前位置;打__表示internal变量,类似java的private,必须通过对外方法访问
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
标签:知识点,.__,粒子,python,self,fitness,position,return 来源: https://blog.csdn.net/baidu_35805755/article/details/123044401