我是一名Python初学者(20年后重新开始编程...)。
我正在编写一个小脚本,以便学习不规则英语动词。我创建了一个类似于以下内容的字典(它是法语):
如果我想遍历动词,可以采用以下方式:
我正在编写一个小脚本,以便学习不规则英语动词。我创建了一个类似于以下内容的字典(它是法语):
verbes = {
"abide":["abode","abode","respecter / se conformer à"],
"arise":["arisen","arisen","survenir"],
}
如果我想遍历动词,可以采用以下方式:
例如:
for verb, (pret, past, trad) in verbes.items():
print "Le verbe %s se conjugue au prétérit par %s, au participe passé par %s et se traduit par %s" % (verb, pret, past, trad)
好的,那很有效。然后我发现我可以导入random来从我的字典中随机选择一个键和值。
rand = random.choice(verbes.items())
如果我打印rand,我会得到一个键和值, 但是如果我再次迭代,就会出现回溯:
Traceback (most recent call last):
File ".\exverbe1.py", line 209, in <module>
for verb, (pret, past, trad) in rand.items(): AttributeError: 'tuple' object has no attribute 'items'
我还没有学习过"元组"这一课,但尝试将其转换为列表、字典等都没有成功。我在stackoverflow上查看了"for循环元组"的相关内容,但没有找到解决方法。所以,经过三个小时的尝试后,现在我请求帮助......谢谢。
random.choice(verbes.items())
会给你一个元组(key, value)
,而不是一个字典。正如错误信息所述,元组没有items
属性。 - jonrsharpeverb, (pret, past, trad) = random.choice(verbes.items()) or some_var_which_holds_keyval_tuple
- Shashank