《Python实战》1——从列表中随机选取指定个数的不重复元素

问题详细描述:

​从列表、字符串、元组等集合中,随机选取指定个数的不重复元素。

相关问题描述:

随机选取指定多个元素、在指定范围内随机生成指定多个不重复数字、随机选取一个元素、随机选取随机个不重复元素。

关键词:

列表、随机、不重复、指定个数、random、sample、choice

解决方案:

1、使用random.sample()函数随机选取多个不重复元素

random.sample()函数可以从列表、字符串、元组等集合中,随机选取指定个数不重复的元素,并将结果作为列表进行输出。

其语句结构为:

random.sample(sep, n)

其中,sep代表列表、字符串、元组等集合或序列,n代表选取的不重复元素的个数。

In [1]: import random
​
In [2]: str = "Hello World!"
        random.sample(str, 3)
Out[2]: ['r', 'l', 'H']
​
In [3]: lst = ['You', 'need', 'Python', '!', str, 3, 5, 8]
        random.sample(lst, 3)
Out[3]: [8, 'Hello World!', 'You']
​
In [4]: tup = ('You', 'need', 'Python', '!', str, 3, 5, 8, lst)
        random.sample(tup, 3)
Out[4]: [3, ['You', 'need', 'Python', '!', 'Hello World!', 3, 5, 8], '!']

2、在指定范围内随机生成指定多个不重复数字

利用random.sample()和range()函数,可以很方便的实现在指定范围内随机生成指定多个不重复数字。

In [5]: num = range(100)
        random.sample(num, 10)
Out[5]: [47, 73, 48, 53, 36, 18, 99, 49, 55, 1]

3、使用random.choice()函数随机选取一个元素

random.choice()函数可以从列表、字符串、元组等集合中,随机选取一个元素。

其语句结构为:

random.choice(sep)

其中,sep代表列表、字符串、元组等集合或序列。

In [6]: lst = ['You', 'need', 'Python', '!', str, 3, 5, 8]
        random.choice(lst)
Out[6]: 'Python'

因为对于字符串和元组作为序列的情况,和介绍random.sample()函数时差不多,就不每次都将全部集合的类型都举例了,下面的示例也一样。

4、随机选取随机个不重复元素

使用随机函数可以很容易实现选取随机个元素,但要注意不能超过序列的长度,所以利用len()函数作为随机数的上限。

In [7]: lst = ['You', 'need', 'Python', '!', str, 3, 5, 8]
        random.sample(lst, random.randint(0,len(lst)))
Out[7]: [8, 'Python', 'need', 'Hello World!', 'You']

因为这是《Python实战》系列文章的第一篇,写的不好的地方,请大家原谅,也请大家多多提出宝贵意见。谢谢!


感谢阅读本文!如有任何问题,欢迎留言,一起交流讨论^_^

欢迎扫描下方二维码,关注“亦说Python”公众号,阅读《Python实战》系列文章的其他篇目。

亦说Python——Python爱好者的学习分享园地

猜你喜欢

转载自blog.csdn.net/mnpy2019/article/details/98852241
今日推荐