gpt4 book ai didi

Python-使用这两种方法在字典中获取值之间的区别

转载 作者:行者123 更新时间:2023-11-28 19:57:53 25 4
gpt4 key购买 nike

我是 Python 初学者,正在制作一款文字游戏。并有一个 {"player 1":0, "player 2":0} 的字典来跟踪两个玩家的得分。

我有重播选项,所以我需要始终将乐谱存储到该字典中。

但是当我在每一轮之后使用这个检索这个字典值时:

for value, index in enumerate(players):
print index, " : ", value

无论玩了多少轮,我都会得到这个:

Player 2 : 0
Player 1 : 1

但是当我使用时:

for index in players:
print index, " : ", players.get(index, 0)

我得到了我想要的实际值。

我的问题是使用这两种方法获取值有什么区别?

最佳答案

enumerate 遍历字典,但默认情况下,您 iterate over the keys仅:

iter(d)

Return an iterator over the keys of the dictionary. This is a shortcut for iterkeys().

您可能想要的是 items()values() .

items()

Return a copy of the dictionary’s list of (key, value) pairs.

values()

Return a copy of the dictionary’s list of values. See the note for dict.items().

我想你想要这个:

for name, score in players.items():
print name, " : ", score

或者也许:

for index, (name, score) in enumerate(players.items()):
print index, " : ", name, " : ", score

只是为了演示其他两种可能性,此方法查找所有名称:

for name in players: # or players.keys()
print name

这会查找分数(没有名字):

for score in players.values():
print score

关于Python-使用这两种方法在字典中获取值之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12681543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com