python中列表索引的两种写法,python中列表通过什么索引元素
之前自己一直使用随意中产生均匀分布的随机整数矩阵生成随机数以及使用为将列表中的数据遍历一次。
现在有个需求需要将列表的次序打乱,或者也可以这样理解:
【需求】将一个容器中的数据每次随机逐个遍历一遍。
随机播放()方法提供了完美的解决方案。
不会生成新的列表,只是将原列表的次序打乱#无序播放()使用样例
随机导入
x=[i for i in range(10)]
打印(十)
随机洗牌
打印(十)
源码及注释(个人翻译注释)def洗牌(自身,x,随机=无):
将列表x打乱,不返回任何内容。
原位打乱列表,不生成新的列表。
可选参数随意是一个0参数
函数在[0.0,1.0]中返回一个随机浮点数;
如果是默认的无,
将使用标准的随机.随机.
可选参数随意是一个从0到参数的函数,返回[0.0,1.0)中的随机浮点;
如果随意是缺省值没有,则将使用标准的random.random()。
如果随意为无:
randbelow=self ._randbelow
对于反向的I(range(1,len(x))):
#在x[:i 1]中选择一个元素,与x[i]交换
j=randbelow(i 1)
x[i],x[j]=x[j],x[i]
否则:
_int=int
对于反向的I(range(1,len(x))):
#在x[:i 1]中选择一个元素,与x[i]交换
j=_int(random() * (i 1))
x[i],x[j]=x[j],x[i]
随意中其他的方法类Random(_random .随机):
## -整数方法-
def randrange(self,start,stop=None,step=1,_int=int):
def randint(self,a,b):
def _randbelow(self,n,int=int,maxsize=1 BPF,type=type
Method=_MethodType,builtin method=_ builtin method type):
## -序列方法-
定义选择(自身,序列):
定义洗牌(自身,x,随机=无):
定义样本(自身,总体,k):
定义选择(自身,群体,权重=无,*,累计权重=无,k=1):
## -均匀分布-
定义制服(自身、a、b):
## -三角形-
定义三角形(自身,低=0.0,高=1.0,模式=无):
## -正态分布-
定义正常变量(自我、管理部门、西格玛):
## -对数正态分布-
定义对数变量(自我、管理部门、西格玛):
## -指数分布-
定义指数变量(self,lambd):
## -冯米塞斯分布图-
def vonmisevariate(self,mu,kappa):
## -伽马分布-
定义伽玛变量(自身、阿尔法、贝塔):
## -高斯(更快的替代方案)
def gauss(self,mu,sigma):
定义变量(自身,,):
## -帕累托-
def paretovariate(self,alpha):
## -威布尔-
定义威布尔变量(自身、、):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。