Python,如何从一个列表随机添加/追加元素到另一个列表?
嘿,所以上面的程序应该随机地从名为colors的列表中添加4个元素到另一个名为current的列表中。我已经浏览了论坛,但是我找不到针对这个案例的帮助 简言之,有没有一种快速有效的方法将一个列表中的4个随机元素直接添加到另一个列表中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']
感谢您描述了的基本用法 如果希望允许重复,请改用(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)