【发布时间】:2015-09-03 06:09:50
【问题描述】:
我刚刚从《绝对初学者的 Python 编程》一书中学习了如何用 Python 做列表,遇到了一个挑战,要求随机列出单词而不重复它们。我一直在尝试这样做,因为这本书没有给你答案。到目前为止,这是我的代码:
WORDS = ("YOU","ARE","WHO","THINK")
for word in WORDS:
newword=random.choice(WORDS)
while newword==word is False:
newword=random.choice(WORDS)
word=newword
print(word)
虽然看起来很明显,但由于单词在列表中重复,代码并没有成功。
【问题讨论】:
-
从列表中删除该项目时你 random.choice 吗? (例如通过获取它的索引并使用'del'函数。我相信python还有很多其他更快的方法..)
-
假设你可以修改列表,使用
random.shuffle(words) -
@trainoasis 您的意思是创建一个新列表并从该列表中随机选择然后删除单词?值得一试。谢谢
-
@LukeWee 是的。我可能添加了一个更好的解决方案,请查看以下内容