Python | 26个列表名为az,每个字母都有字符串,选择随机字母,如何选择列表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (683)

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

letters = "abcdefghijklmnopqrstuvwxyz"

现在我随机选择该字符串中的一个字母。

start_letter = random.choice(letters)

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

提问于
用户回答回答于

您应该创建一个字典,其中包含字母表中的字母和列表中的值。letters_dict = {'a':[1,2,3],'b':[4,5,6],...}

然后你可以得到一个随机列表:

letters_dict[random.choice(letters)]

请注意,尽管这是一种糟糕的做法,但您可以使用函数获取当前局部变量的字典(带有变量形式的变量:variable_value),locals()然后选择随机字母,如下所示:locals()[random.choice(letters)]但字典绝对是正确的要走的路。

至于在该列表中选择随机“槽”,您有两个选项,可以随机生成索引:

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

或者在你写完一封信时随机选择一个元素:

random.choice(lst)

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

扫码关注云+社区

领取腾讯云代金券