【发布时间】:2017-07-24 16:16:52
【问题描述】:
item = word_bank.pop(random.choice(list(word_bank.keys())))
print(list(word_bank.keys()))
print("The Word is: ", item)
print("=" * 25)
a = input("Do You Know It? (y/n):\t")
answer = word_bank[item]
上面的item 变量返回值而不是我的word_bank 字典中的键。我打印了我的键列表来尝试调试问题并且不存在任何值,这让我认为pop 方法或random.choice 方法存在问题。我查看了这两个文档,没有发现任何可以指出问题的地方。
我认为这与 random.choices 返回一个键的索引,然后 pop 方法将相应的值作为项返回到该键有关。但是,当我颠倒角色并使用values() 代替keys() 时,我得到一个关键错误并且找不到解决问题的有效解决方案。
【问题讨论】:
-
...不存在值,你知道
dict.pop是做什么的吗? -
你到底想做什么?是的,如果你将一个键传递给
.pop方法,它pops 对应的值...
标签: python dictionary random key