我正在制作一个简单的闪存卡程序来建立我的词汇量,因此需要随机选择一个词汇量 我在这个网站上找到了很多有用的答案,很多都是在这个网站之外,并且注意到shuffle是一个选项(我知道有随机选择,但是我用了shuffle)但是有些东西我没有抓住。看起来像这样:
import random
vocab_dict = {'word1':'def1',
'word2':'def2',
'etc.':'etc.'}
vocab_dict_rand = vocab_dict.keys()
random.shuffle(vocab_rand) **#<--This is where problem occurs**
for key in vocab_rand:
print word
input ""
print definition
input ""
input exit
所以程序崩溃并指向随机洗牌(人声兰语)。。。在
我把这个放在壳里
^{pr2}$任何帮助都将不胜感激。在
在Python3中,
keys
返回迭代器,而不是列表。你需要有一个列表来洗牌。使用vocab_dict_rand = list(vocab_dict.keys())
。在在Python3中,
dict.keys()
返回一个特殊的dict_keys
对象,它的行为类似于一个列表它不是一个真正的列表,因此您不能对其进行索引或无序处理(它应该只用于迭代)。在相反,请使用
vocab_rand = list(vocab_dict.keys())
。在相关问题 更多 >
编程相关推荐