如何从列表中获取随机字符串

时间:2015-06-18 02:10:47

标签: python list random

我的班级最近被引入列表,我们的任务是从所述列表中随机获取一个名称,这是我生成的代码

import random
Random1 = random.randint(0,7)
Class_List = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print (ClassList[{}].format(Random1))

但是我收到此错误

Traceback (most recent call last):
  File "C:/Users/Mickel/Documents/Python/RPS Tournament/Rock Paper Sissor Tornament.py", line 4, in <module>
    print (ClassList[{}].format(Random1))
TypeError: list indices must be integers, not dict

任何解决方案?

3 个答案:

答案 0 :(得分:5)

Python有一个非常简单的方法:random.choice

import random

class_list = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print(random.choice(class_list))

关于你的答案无效的原因:

print (ClassList[{}].format(Random1))

.format用于将值插入字符串 - 例如"{}".format(5)。显然这与你正在做的事情有所不同。如果您仍想使用您的方法,请按以下方式进行:

Class_List = ['Noah','Simone','JiHo','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
Random1 = random.randint(0,len(Class_List))
print (ClassList[Random1])

答案 1 :(得分:2)

使用random.choice。阅读我链接的文档。

答案 2 :(得分:0)

您正在以空字典的形式从列表中打印值,其中应该是索引号。这就是你收到错误的原因。但无论如何你拼错了。它应该是&#34; Class_List&#34;,而不是&#34; ClassList&#34;。

至于你的任务,我个人会这样做

#!/usr/bin/python

import random

Class_List = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']

random.shuffle(Class_List)

print (Class_List[0])