执行 .split() 后返回字典的 python 列表理解

标签 python list list-comprehension

我正在做一个基本的 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/

相关文章:

python - 如何迭代 python 列表?

python - 使用列表理解打印出一个包含长度为 4 的单词的列表

python - 为什么 "if letter in dict"在 Python 中运行错误?

python - 使用列表理解对数据帧的子集进行切片

python - 如何在 ldap3 中读取给定 DN 的属性(如果没有过滤器,如何使用 ldap3 进行搜索)

用于构建并行列表的 Pythonic 模式

python - Django 计算一对多关系

python - 对数据点进行计数/分组 : for-loop or list comprehension?

python - 避免在 python 中为 Long 加上 L 后缀

python - Scrapy:没有名为项目的模块,正在抓取图像