编程语言
首页 > 编程语言> > python知识点

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