我有26个名为a,b,c,..,z的列表和一个称为字母的字符串。
letters = "abcdefghijklmnopqrstuvwxyz"
现在,我从字符串中随机选择一个字母。
start_letter = random.choice(letters)
start_letter 的值现在应该是一个字母,这是我脚本中的列表。 现在,如何选择该列表并在该列表中随机选择一个“插槽”?
答案 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)
第一种方法的优点是,如果需要,您可以稍后使用该索引,但是如果不需要该索引,则第二种方法更具可读性。