gpt4 book ai didi

python - 如何在 python 中随机打印列表中的元素?

转载 作者:太空宇宙 更新时间:2023-11-04 01:26:02 25 4
gpt4 key购买 nike

我有一个列表,我想以随机顺序打印它。这是我到目前为止编写的代码:

import random
words=["python","java","constant","immutable"]
for i in words:
print(i, end=" ")
input("") #stops window closing

我尝试了多种方法来随机打印它们,例如制作一个只随机选择其中一个然后随机删除的变量。然后我会重复这个步骤,直到它们都被删除并在另一个变量中。然后我会把变量放在一个列表中然后打印出来。但是,这一直在产生错误。有没有其他方法可以做到这一点?

最佳答案

使用random.shuffle()就地洗牌:

import random

words = ["python", "java", "constant", "immutable"]
random.shuffle(words)
print(*words)

input('')

演示:

>>> import random
>>> words = ["python", "java", "constant", "immutable"]
>>> random.shuffle(words)
>>> words
['python', 'java', 'constant', 'immutable']

如果您想保留单词(保持顺序),您可以使用带有随机键的sorted()来返回一个新的随机列表:

words = ["python", "java", "constant", "immutable"]
print(*sorted(words, key=lambda k: random.random()))

这使得 words 保持不变:

>>> words = ["python", "java", "constant", "immutable"]
>>> sorted(words, key=lambda k: random.random())
['immutable', 'java', 'constant', 'python']
>>> words
['python', 'java', 'constant', 'immutable']

关于python - 如何在 python 中随机打印列表中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17880820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com