Python | 26个名为a-z的列表,每个字母带有字符串,选择随机字母,如何选择列表

时间:2018-08-26 18:14:41

标签: python list random

我有26个名为a,b,c,..,z的列表和一个称为字母的字符串。

letters = "abcdefghijklmnopqrstuvwxyz"

现在,我从字符串中随机选择一个字母。

start_letter = random.choice(letters)

start_letter 的值现在应该是一个字母,这是我脚本中的列表。 现在,如何选择该列表并在该列表中随机选择一个“插槽”?

1 个答案:

答案 0 :(得分:4)

您应该创建一个字典,该字典的键是字母,列表是值。     letter_dict = {'a':[1,2,3],'b':[4,5,6],...}

然后您可以通过以下方式获得随机列表:

letters_dict[random.choice(letters)]

请注意,尽管这是很糟糕的做法,但是您可以使用locals()函数获得当前局部变量的字典(格式为variable_name:variable_value的条目),然后选择随机字母,就像locals()[random.choice(letters)]中一样,但是字典无疑是正确的选择。


关于在该列表中选择一个随机的“插槽”,您有两个选择,或者随机生成一个索引:

lst[random.randint(0,len(lst)]

或在您完成字母操作后随机选择一个元素:

random.choice(lst)

第一种方法的优点是,如果需要,您可以稍后使用该索引,但是如果不需要该索引,则第二种方法更具可读性。