Python列表推导返回一个字典,然后执行.split()

2024-05-17 05:26:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个基本的python练习,我想在下面的列表中拆分每个字符串,并将每个城市映射到各个州。(假设后面的状态是正确的)

如何使用列表理解使这项工作更容易?你知道吗

cities = ['washington,ct', 'springfield,or', 'riverside,tx', 'franklin,vt', 'lebanon,co', 'dayton,tx', 'las vegas,nm', 'madison,ca', 'georgetown,ct', 'los angeles,tx']

预期结果将是:

{'washington': 'ct',
 'springfield': 'or',
 'riverside': 'tx',
 'franklin': 'vt',
 'lebanon': 'co',
 'dayton': 'tx',
 'las vegas': 'nm',
 'madison': 'ca',
 'georgetown': 'ct',
 'los angeles': 'tx'}

这就是我在学习列表理解之前所做的

splitedList = []
for x in cities:
    splitedList.append(x.split(','))
print(splitedList)

my_dict = dict(splitedList)
print(my_dict)

Tags: or列表dicttxcitiescoctvt
2条回答
cities = {x[0]:x[1] for x in (y.split(",") for y in ('washington,ct', 'springfield,or', 'riverside,tx'))}

dict与iterable一起使用:

dict(s.split(',') for s in cities)

输出:

{'washington': 'ct',
 'springfield': 'or',
 'riverside': 'tx',
 'franklin': 'vt',
 'lebanon': 'co',
 'dayton': 'tx',
 'las vegas': 'nm',
 'madison': 'ca',
 'georgetown': 'ct',
 'los angeles': 'tx'}

相关问题 更多 >