python怎么随机取列表的值

 我来答
育知同创教育
2017-11-14 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

第一步:

我分析如果从一堆数里随机抽取几个,并且按原来的顺序输出的话,那么至少要随机两次才能完成,第一次随机的值是确定随机几个数,第二次随机是确定随机的值。

第二步:

随机抽取几个可以用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:
        print(a.get(i),end=' ')

print(random_dictvalue(a,random_list(a,random_number(b))))
#  result
>>> ================================ RESTART ================================
>>> 
a f None
>>> ================================ RESTART ================================
>>> 
g i None
>>> ================================ RESTART ================================
>>> 
a j h l v b 2 5 x None
百科知识天天学
2018-08-06 · 每天学一点,一年大不同!
百科知识天天学
采纳数:15 获赞数:49

向TA提问 私信TA
展开全部

举例说明:从集合中随机获得10个数

1、定义一个列表集合iRandom = []

2、向iRandom中插入1-60,共60个数字

3、打乱列表顺序

4、截取列表前10个数,即为随机获取到的列表集合随机数

import random

iRandom = [] #定义随机数列表
listRandom = list(range(1,61)) #生成整数型1-60的列表组合
random.shuffle(listRandom)  #打乱列表顺序
iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandom
print('随机列表组合:',iRandom)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式