使用Python 2.7。我有一本字典,其中以球队名称为键,对每支球队得分并允许的奔跑次数作为值列表:
NL_East = {'Phillies': [645, 469], 'Braves': [599, 548], 'Mets': [653, 672]}
我希望能够将字典输入一个函数并遍历每个团队(键)。
这是我正在使用的代码。现在,我只能逐队参加。我将如何遍历每个团队并为每个团队打印预期的win_percentage?
def Pythag(league):
runs_scored = float(league['Phillies'][0])
runs_allowed = float(league['Phillies'][1])
win_percentage = round((runs_scored**2)/((runs_scored**2)+(runs_allowed**2))*1000)
print win_percentage
谢谢你的帮助。
您有几种选择可以遍历字典。
如果迭代字典本身(for team in league
),则将迭代字典的键。当使用for循环进行循环时,无论您是在dict(league
)本身上循环还是在以下情况下,行为都是相同的league.keys()
:
for team in league.keys():
runs_scored, runs_allowed = map(float, league[team])
您还可以通过迭代遍历键和值一次league.items()
:
for team, runs in league.items():
runs_scored, runs_allowed = map(float, runs)
您甚至可以在迭代时执行元组拆包:
for team, (runs_scored, runs_allowed) in league.items():
runs_scored = float(runs_scored)
runs_allowed = float(runs_allowed)
问题内容: 我有以下词典列表: 我想对每个求和并在字典列表中得到以下结果: 问题答案: from collections import defaultdict 它产生: 要将其转换为词典列表: 结果:
问题内容: 为什么以下旨在删除字典中多个键的表达式无效?(是字典) 用它替换的最最小的表达式是什么? 问题答案: 您不应该 在 这里完全使用列表理解。列表推导非常适合构建值列表,因此不应将其用于一般循环。对副作用使用列表理解会浪费内存,这是对一个完美的列表对象的浪费。 列表推导也是 表达式 ,因此只能包含其他表达式。是一个语句,不能在表达式内使用。 只需使用一个循环: 或使用字典理解来重建字典:
问题内容: 我有一个字典列表和每个字典的key(比方说)“型”,这可以有值,等我的目标是过滤掉这些字典到同一个字典列表,但只有一个的那些某些“类型”。我想我真的很在理解问题。 因此,示例列表如下所示: 我有一个键值列表。举例来说: 预期的结果列表如下所示: 我知道我可以用一组for循环来做到这一点。我知道必须有一个更简单的方法。我发现此问题有很多不同的风格,但没有一个完全符合要求并回答了这个问题。
我有一个名为的DataFrame想要迭代列表并获得的值,但我得到了以下错误(如预期的那样)。知道我该怎么取消吗?
我想更改字典的纬度和经度值。 它正在抛出以下错误消息: 对于此它在targetWaypoints内打印一个完整的字典。我想打印纬度值。 提前谢谢。
问题内容: 假设我们有一个Python字典,我们正在像这样迭代它: (并且仅仅是一些黑盒转换。) 换句话说,我们尝试在使用对其进行迭代的同时向其中添加/删除项目。 这个定义好吗?您能否提供一些参考来支持您的答案? (很明显,如果损坏了该如何解决,所以这不是我所追求的角度。) 问题答案: 在python文档页面(针对2.7)上明确提到了 使用而添加或删除字典条目可能会产生一种或无法遍历所有条目。 对