Python中随机化字典时出现类型错误

2024-05-16 16:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个简单的闪存卡程序来建立我的词汇量,因此需要随机选择一个词汇量 我在这个网站上找到了很多有用的答案,很多都是在这个网站之外,并且注意到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}$

任何帮助都将不胜感激。在


Tags: 答案import程序input网站选项etcrandom
2条回答

在Python3中,keys返回迭代器,而不是列表。你需要有一个列表来洗牌。使用vocab_dict_rand = list(vocab_dict.keys())。在

在Python3中,dict.keys()返回一个特殊的dict_keys对象,它的行为类似于一个列表它不是一个真正的列表,因此您不能对其进行索引或无序处理(它应该只用于迭代)。在

相反,请使用vocab_rand = list(vocab_dict.keys())。在

相关问题 更多 >