猿问

如何将列表值附加到具有相同长度的字典列表中?

例如,我有一个包含 3 个值的列表:

['California', 'Colorado', 'Connecticut']

如何将值附加到具有相同列表长度的字典列表中?

[{'abbrev': 'CA', 'slug': 'ca'}, {'abbrev': 'CO', 'slug': 'co'}, {'abbrev': 'CT', 'slug': 'ct'}]

结果我需要字典列表如下

[{'title':'California', 'abbrev': 'CA', 'slug': 'ca'}, {'title':'Colorado', 'abbrev': 'CO', 'slug': 'co'}, {'title': 'Connecticut', 'abbrev': 'CT', 'slug': 'ct'}]

谢谢!


红糖糍粑
浏览 86回答 3
3回答

慕标5832272

您可以使用zip在两个列表上并行迭代:states = ['California', 'Colorado', 'Connecticut']ds = [{'abbrev': 'CA', 'slug': 'ca'}, {'abbrev': 'CO', 'slug': 'co'}, {'abbrev': 'CT', 'slug': 'ct'}]for title, d in zip(states, ds):    d['title'] = title输出[{'abbrev': 'CA', 'slug': 'ca', 'title': 'California'}, {'abbrev': 'CO', 'slug': 'co', 'title': 'Colorado'}, {'abbrev': 'CT', 'slug': 'ct', 'title': 'Connecticut'}]

慕运维8079593

使用update您可以将带有值的键添加到字典中,但是,它将被附加到最后。b = [{'abbrev': 'CA', 'slug': 'ca'}, {'abbrev': 'CO', 'slug': 'co'}, {'abbrev': 'CT', 'slug': 'ct'}]a = ['California', 'Colorado', 'Connecticut']for i in range(len(a)):    b[i].update({'title':a[i]})print(b)输出:[{'abbrev': 'CA', 'slug': 'ca', 'title': 'California'}, {'abbrev': 'CO', 'slug': 'co', 'title': 'Colorado'}, {'abbrev': 'CT', 'slug': 'ct', 'title': 'Connecticut'}]

慕虎7371278

你可以这样做:states = ['California', 'Colorado', 'Connecticut']ds = [{'abbrev': 'CA', 'slug': 'ca'}, {'abbrev': 'CO', 'slug': 'co'}, {'abbrev': 'CT', 'slug': 'ct'}]title = dict(zip(states, ds))title输出:{'California': {'abbrev': 'CA', 'slug': 'ca'}, 'Colorado': {'abbrev': 'CO', 'slug': 'co'}, 'Connecticut': {'abbrev': 'CT', 'slug': 'ct'}}
随时随地看视频慕课网APP

相关分类

Python
我要回答