我是 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 循环元组”,但没有结果。所以现在我在 3 小时试图弄清楚后寻求帮助...... 谢谢
最佳答案
random.choice(verbes.items())
从 verbes.items()
中随机选择一个元组。 rand
因此包含一项 - rand[0]
包含键,rand[1]
包含值。
如果您要做的是迭代值列表中的项目:
for val in rand[1]:
print val
将 rand
元组解压成它的组成部分:
verb, (pret, past, trad)
verb
现在包含键,pret
、past
和 trad
对应列表中的每个元素关键。
关于python - for循环迭代元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30225027/