当前位置: 代码迷 >> python >> Python,如何将元素从一个列表随机添加/追加到另一个列表?
  详细解决方案

Python,如何将元素从一个列表随机添加/追加到另一个列表?

热度:71   发布时间:2023-06-16 14:11:58.0
import random
global colours 
global current
colours = ["Red","Yellow","Blue","Green","Orange","White"]
current = []

def randompicker():
    for i in range(4):
        current = random.choice(colours)
randompicker()
print(colours)
print(current)

嘿,因此上述程序应该将名为color的列表中的4个元素随机添加到另一个名为current的列表中。 我浏览了各个论坛,但找不到针对此案例的帮助。

简而言之,是否有一种快速有效的方法将一个列表中的4个随机元素直接添加到另一个列表中?

谢谢

您正在描述的基本用法。

>>> colours = ["Red","Yellow","Blue","Green","Orange","White"]
>>> random.sample(colours, 4)
['Red', 'Blue', 'Yellow', 'Orange']

如果要允许重复,请改用 (Python 3.6中的新增功能)。

>>> random.choices(colours, k=4)
['Green', 'White', 'White', 'Red']

要修复原始代码,请执行

current.append(random.choice(colours))

代替

current = random.choice(colours)

您还应该使current为局部变量并返回它,而不是全局变量。 同样,您应该将选择数组作为参数传递,而不是在全局变量目录中使用。 这两个更改都将为您的功能提供更大的灵活性。