【发布时间】:2020-08-14 08:41:54
【问题描述】:
我正在尝试将两个列表映射到字典中。我知道如何做到这一点,但是当从函数传递列表时遇到问题,只有每个列表中的第一个值被映射。我已经尝试了所有的映射方法:
def main():
pop = [34372,37821,45673,67100,69100,70245]
years = ['2012','2013','2014','2016','2017','2018']
highest_year_change(years,pop)
def highest_year_change(years,pop):
year_pop_dict = {}
year_pop_tuples = zip(years,pop)
for key, value in year_pop_tuples:
year_pop_dict[key] = value
print(year_pop_dict)
输出: {'2012': 34372}
我第一次尝试:year_pop_dict = dict(zip(years,pop))
但结果相同。只有当列表没有在函数之间传递时,才会按预期创建字典。
`
【问题讨论】:
-
dict(zip(years, pop))返回{'2012': 34372, '2013': 37821, '2014': 45673, '2016': 67100, '2017': 69100, '2018': 70245}。 -
为我工作 - 当
main被调用时{'2012': 34372, '2013': 37821, '2014': 45673, '2016': 67100, '2017': 69100, '2018': 70245}被打印出来。
标签: python list dictionary mapping