gpt4 book ai didi

Python:开始、停止、单步

转载 作者:行者123 更新时间:2023-12-01 09:21:18 24 4
gpt4 key购买 nike

我有以下代码片段。

我有点困惑,首先,为什么我的步骤参数是2,是不是因为我从字典之外跳转,所以我最终得到了总人口?

第二:i+1 到底是做什么的?以前没见过吗?如果我从 i (国家名称)跳到总人口上,那就有意义了。但如果是这样的话,我的步长为 2 有什么意义呢?

代码按预期工作,我只是想知道它是如何工作的,以便以后能够在我自己的项目中从中受益。

result = {}
print(country_population)
for i in range(0, len(country_population), 2):
result[country_population[i]] = country_population[i+1]['total_population']['population']

print(result)

country_population 打印:

['Mali', {'total_population': {'date': '2013-01-01', 'population': 16352320}}, 'Ghana', {'total_population': {'date': '2013-01-01', 'population': 25855970}}

结果打印:

{'Mali': 16352320, 'Ghana': 25855970}

最佳答案

首先,您在 country_population 的定义中缺少右括号。如果您添加它,您的代码就会按照您的说明运行。

代码中需要步骤参数 2 的原因是 country_population 是包含四个项目的列表。这些项目是

'Mali',
{'total_population': {'date': '2013-01-01', 'population': 16352320}},
'Ghana',
{'total_population': {'date': '2013-01-01', 'population': 25855970}}

因此,您会看到两个国家/地区的信息分布在四个项目中。第一个与马里有关,最后两个与加纳有关。第 1 项和第 3 项是国家名称,第 2 项和第 4 项是人口数据。因此,代码使用步长 2 从一个国家移动到另一个国家。在每个循环中,项目i是国家名称,项目i+1是人口数据。

如果数据可以以不同的方式存储,您应该创建一个包含两个元组的列表,每个元组包含一个国家名称及其人口数据。那么数据变量的结构将与数据含义的结构相匹配。换句话说,定义

country_population = [
('Mali', {'total_population': {'date': '2013-01-01', 'population': 16352320}}),
('Ghana', {'total_population': {'date': '2013-01-01', 'population': 25855970}})
]

这需要更多行,并且您的分析代码需要更改,但定义更容易查看并且适合合适的行长度,并且您的分析代码会更容易理解。

关于Python:开始、停止、单步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50775873/

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