如何在python中为2个列表和其他字典创建字典?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python中为2个列表和其他字典创建字典?相关的知识,希望对你有一定的参考价值。
1。首先,我在代码中创建了变量POWER
,gandalf
和saruman
,然后创建了一个名为spells
的变量来存储巫师施放的法术数量。
code
POWER = {
'Fireball': 50,
'Lightning bolt': 40,
'Magic arrow': 10,
'Black Tentacles': 25,
'Contagion': 45
}
gandalf = ['Fireball', 'Lightning bolt', 'Lightning bolt', 'Magic arrow', 'Fireball',
'Magic arrow', 'Lightning bolt', 'Fireball', 'Fireball', 'Fireball']
saruman = ['Contagion', 'Contagion', 'Black Tentacles', 'Fireball', 'Black Tentacles',
'Lightning bolt', 'Magic arrow', 'Contagion', 'Magic arrow', 'Magic arrow']
spells=10
- 然后创建了两个变量,分别称为gandalf_wins和saruman_wins。将它们都设置为0。
gandalf_wins=0
saruman_wins=0
- 最后还有两个名为gandalf_power和saruman_power的变量,用于存储每个巫师的法术强度列表。
gandalf_power=[]
saruman_power=[]
- 战斗开始!使用上面创建的变量,对拼写冲突的执行进行编码。请记住,如果一个巫师连续连续赢得3次法术冲突,他将获胜。如果冲突在平局中结束,则连续获胜的计数器不会重新开始为0。记住打印谁是战斗的获胜者。
我被困在这里,是因为我不知道如何为每个具有该咒语和该咒语力量的人创建字典。那我该怎么比较呢?预先感谢!
答案
我认为这些步骤的指示非常清楚,使用for
循环足以解决第3部分。
对于第四部分,您可以使用zip
同时迭代两个列表。
for gandalf_pow, saruman_pow in zip(gandalf_power, saruman_power):
# compare
另一答案
下面使用zip来遍历所有咒语并比较每回合的咒语威力。
POWER = {
'Fireball': 50,
'Lightning bolt': 40,
'Magic arrow': 10,
'Black Tentacles': 25,
'Contagion': 45
}
gandalf = ['Fireball', 'Lightning bolt', 'Lightning bolt', 'Magic arrow', 'Fireball', 'Magic arrow', 'Lightning bolt', 'Fireball', 'Fireball', 'Fireball']
saruman = ['Contagion', 'Contagion', 'Black Tentacles', 'Fireball', 'Black Tentacles', 'Lightning bolt', 'Magic arrow', 'Contagion', 'Magic arrow', 'Magic arrow']
spells=10
gandalf_wins=0
saruman_wins=0
for gandalf_spell, saruman_spell in zip(gandalf,saruman):
if POWER[gandalf_spell] > POWER[saruman_spell]:
gandalf_wins+=1
elif POWER[saruman_spell] > POWER[gandalf_spell]:
saruman_wins+=1
print(f"Gandalf won {gandalf_wins} times, Saruman won {saruman_wins} times")
另一答案
您应该参考Python字典。它们就像列表和元组一样,唯一的区别是它们就像数据库的表,其中有用于存储不同值的行和列
https://www.w3schools.com/python/python_dictionaries.asp请参阅此以获得帮助
另一答案
我认为您不需要为此使用字典。您可以尝试:
for x in range(spells):
gandalf_attack = POWER[gandalf[x]]
saruman_attack = POWER[saruman[x]]
if gandalf_attack>saruman_attack:
# Do something
elif gandalf_attack>saruman_attack:
# Do something
else:
# Tie
以上是关于如何在python中为2个列表和其他字典创建字典?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 2 个 pkl 文件创建 Python 嵌套字典/将 2 个嵌套字典合并为一个?