python列表随机采样_python怎么随机取列表的值
展开全部
第⼀步32313133353236313431303231363533e78988e69d8331333363393661:
我分析如果从⼀堆数⾥随机抽取⼏个,并且按原来的顺序输出的话,那么⾄少要随机两次才能完成,第⼀次随机的值是确定随机⼏个数,第⼆次随机是确定随机的值。
第⼆步:
随机抽取⼏个可以⽤random.randint(1,n)这个函数来实现,这个n代表所要随机列表的长度。
第三步:
上⼀步出来⼀个数决定此次随机出⼏个值出来,现在假定是n,再次随机就是从列表⾥随机抽取n个值这个可以⽤random.sample(dict,n)这个⽅法实现,这个函数可以传⼊⼀个字典,和⼀个数字返回⼀个列表。
第四步:
得到的结果需要按原来的顺序输出,那么存储就需要考虑⽤dict了,因为字典的k-v特性可以实现到原来的顺序,我具体的实现如下:import random
#random_number(a)函数的功能传⼊⼀个数,返回1到这个数的随机数
def random_number(a):
return random.randint(1,a)
#print(random_number(4))
#random_list(a,b)函数的功能,传⼊⼀个字典a,和⼀个数值b,
#1<=b<=a的长度,返回⼀个拥有b的个数值是a中的key值的list
def random_list(a,b):
return random.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函数的功能,传⼊⼀个字典a和⼀个列表b,返回以b为key,a中对应的value的值
def random_dictvalue(a,b):
b.sort()
for i in b:
(i),end=' ')
print(random_dictvalue(a,random_list(a,random_number(b))))
#  result
>>> ================================ RESTART ================================
>>>
a f None
>>> ================================ RESTART ================================
>>>random python
g i None
>>> ================================ RESTART ================================ >>>
a j h l v
b 2 5 x None

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。