Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,如何从一个列表随机添加/追加元素到另一个列表?_Python_Arrays_List_Random_Append - Fatal编程技术网

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

Python,如何从一个列表随机添加/追加元素到另一个列表?,python,arrays,list,random,append,Python,Arrays,List,Random,Append,嘿,所以上面的程序应该随机地从名为colors的列表中添加4个元素到另一个名为current的列表中。我已经浏览了论坛,但是我找不到针对这个案例的帮助 简言之,有没有一种快速有效的方法将一个列表中的4个随机元素直接添加到另一个列表中 感谢您描述了的基本用法 如果希望允许重复,请改用(Python 3.6中新增的) 要修复原始代码,请执行以下操作 >>> random.choices(colours, k=4) ['Green', 'White', 'White', 'Red']

嘿,所以上面的程序应该随机地从名为colors的列表中添加4个元素到另一个名为current的列表中。我已经浏览了论坛,但是我找不到针对这个案例的帮助

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


感谢您描述了的基本用法

如果希望允许重复,请改用(Python 3.6中新增的)


要修复原始代码,请执行以下操作

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

current.append(random.choice(colours))

您还应该将
设为当前
局部变量并返回它,而不是全局变量。同样,您应该将选项数组作为参数传递,而不是处理全局变量目录。这两种更改都将为您的功能提供更大的灵活性。

嘿,谢谢您的回答,有没有一种方法可以在没有重复项的情况下实现这一点?@JayHunkys当然。换句话说,您需要检查
current
列表,查看它是否已经包含下一个选项,然后再添加它。看我如何开始用英语描述解决方案?我也把它留给你,让你再细化一点,这样你就可以把它翻译成代码。@JayHunkys或者,你可以使用一个
set
来为你做检查谢谢,我现在就按照我想要的方式工作了。谢谢你抽出时间。
>>> random.choices(colours, k=4)
['Green', 'White', 'White', 'Red']
current.append(random.choice(colours))
current = random.choice(colours)