Python:列表和随机。如何从0到[列表中的字符串数量]之间选择随机数字?

问题描述:

可能重复:
How do I randomly select an item from a list using Python?Python:列表和随机。如何从0到[列表中的字符串数量]之间选择随机数字?

我试图创建一个使用3只不同的列出了3个不同的字的字符串:

print (word1[random.randint(0, X)], 
     "the", 
     word2[random.randint(0, X)], 
     word3[random.randint(0, X)]) 

word1word2word3是不同的名单。

randint中的X是相应列表中的字符串数量。

那么,有没有人可以帮助我,告诉我我是如何正确写这段代码的?

word1[random.randint(0, [amount of strings in list "word1"])] 

你在做一个毫无根据的假设,你需要选择这样一个随机数。随机数不是你想要的;你想要一个随机的字符串元素。

要从序列中进行随机选择,请使用random.choice

print(random.choice(word1), "the", random.choice(word2), random.choice(word3)) 
+0

Woowh。感谢队友......我一直想这样做几个星期了,但我想我的老师是一个愚蠢的XD迫使我们学习的东西有太多的数学(向量n的东西),甚至没有解释任何与此有关的事情节目。 – user1275670 2012-03-15 20:32:21

+0

你的老师可能诚实地认为,让你用这些“数学”术语来思考,实际上会提高你的编程直觉和逻辑上破坏编程问题的能力。这种误解是非常普遍的。 – 2012-03-15 21:01:04

+0

@ChaosPointDK - 你可以通过阅读python.org上的教程来学习库。 – 2012-03-16 16:56:40

len()得到的东西的长度。使用len(word1)将获得列表中的项目数量。我想你想要做的是从列表中选择一个随机单词。 random实际上有它自己的模块来做到这一点。您将使用random.choice(word1)word1获得一个随机项目。

简单:word1[randomint(0, len(word1)-1)]