首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自两个列表的随机元素- Python

来自两个列表的随机元素- Python
EN

Stack Overflow用户
提问于 2018-11-25 00:23:13
回答 3查看 1.6K关注 0票数 4

所以我在Python中有两个列表:

代码语言:javascript
复制
import random
list_1 = ['1','2','3']
list_2 = ['4','5','6']
num = random.choice(list_1 or list_2)

这似乎不管用。如何从列表1或列表2中获取随机数?

EN

回答 3

Stack Overflow用户

发布于 2018-11-25 00:33:54

您可以连接以下列表:

代码语言:javascript
复制
num = random.choice(list_1 + list_2)

或者选择一个列表,然后选择一个字符:

代码语言:javascript
复制
num = random.choice(random.choice([list_1],[list_2]))
票数 3
EN

Stack Overflow用户

发布于 2020-02-20 11:33:34

不短,但可以作为参考。

代码语言:javascript
复制
import random

name = ['I love ','I have ','I hate ','I want ','I buy ','I like ','I see ']
second = ['banana','lemon','water','cat','soap','man','shopping','pen','mouse']

population = list(zip(name, second))
ox_list = []

for a in range(20):
    samples = random.sample(population, 1)
    samples = str(samples).strip('[]')
    ox_list.append(samples.replace("', '", ''))

for o in set(ox_list):
    print (o.replace("')",'').replace("('",''))

I have lemon
I want cat
I love banana
I like man
I buy soap
I hate water
I see shopping
票数 -1
EN

Stack Overflow用户

发布于 2021-07-15 22:14:40

使用random.sample从两个列表中进行选择。如果你只想从一个列表或另一个列表中进行选择,你可以使用mod %来反转偶数和奇数,其中一个列表是偶数,一个列表是奇数,然后随机采样。

代码语言:javascript
复制
name = ['I love ','I have ','I hate ','I want ','I buy ','I like ','I see ']
second = ['banana','lemon','water','cat','soap','woman','shopping','pen','mouse']

result=[]
for i in range(10):
    a=random.sample(name,1)
    b=random.sample(second,1)
    result.append(a[0]+ b[0])
print(result)
#[result.append(random.sample(name,1)[0]+random.sample(second,1)[0]) for i in 
range(10)]
print(result)

输出:

代码语言:javascript
复制
 ['I buy pen', 'I buy cat', 'I like woman', 'I have water', 'I hate water', 'I want water', 'I buy water', 'I see banana', 'I love woman', 'I buy woman']

在两个列表之间随机切换

代码语言:javascript
复制
result=[]
for i in range(10):
    a_num=random.sample(range(10000),1)
    if a_num[0]%2:
        result.append(random.sample(name,1))
    else:
        result.append(random.sample(second,1))
print(result)

输出:

代码语言:javascript
复制
[['mouse'], ['I see '], ['banana'], ['cat'], ['I buy '], ['soap'], ['woman'], ['I like '], ['soap'], ['cat']]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53460095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档