从字符串列表创建字典

Create dict from list of strings

给出如下字符串列表...

environment_variables = ['PIP_INDEX_URL=http://pypi.example.com/simple', 'PATH=/etc/apt/sources.list', ...]

...从中生成字典的最直接方法是什么?

它应该看起来像:

{"PIP_INDEX_URL": "http://pypi.example.com/simple", "PATH": "/etc/apt/sources.list", ...}
d = {}
for envvar in environment_variables:
    key, value = envvar.split('=')
    d[key] = value

您可以在此处使用 Python 3.8 的新“海象”运算符,但我认为它不会变得更容易阅读。

d = {v[0]: v[1] for envvar in environment_variables if (v := envvar.split('='))}

您可以将拆分后的字符串直接传递给 dict() 构造函数:

environment_variables = ['PIP_INDEX_URL=http://pypi.example.com/simple', 'PATH=/etc/apt/sources.list']

dict(s.split('=') for s in environment_variables)

这将产生:

{
  'PIP_INDEX_URL': 'http://pypi.example.com/simple',
  'PATH': '/etc/apt/sources.list'
}