我正在做一个基本的 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)
最佳答案
将 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'}
关于执行 .split() 后返回字典的 python 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57272711/