Python列表的dict向下到匹配索引的单个项的dict

2024-09-29 06:32:56 发布

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

我在这个用例中找不到类似的问题。你知道吗

我有一个包含列表的字典,我想从每个列表中提取一个特定的索引,并用相同的键将其分配到一个新的dict中。你知道吗

dict1 = {
 'key1': ['a', 'b', 'c'],
 'key2': ['d', 'e']
}

进入

dict2 = {  # taking index 1 of each list
  'key1': 'b',
  'key2': 'e'
}

这不可能用词典更新我找不到一种不手动迭代每个键的内置方法,这不是pythonic。你知道吗


Tags: of列表index字典手动用例dictlist
1条回答
网友
1楼 · 发布于 2024-09-29 06:32:56

怎么样

dict1 = {
 'key1': ['a', 'b', 'c'],
 'key2': ['d', 'e']
}

只需检查列表中是否存在索引的简单单行 (否则将不向键添加任何内容) *编辑感谢@RoadRunner的建议

n = 1
dict2 = {k:v[n] if len(v) > n else None for k,v in dict1.items()}

或者 一种不同的方法,一种更具python风格的EAFP方法:

dict2 = {}
n = 1

for k,v in dict1.items():
    try:
        dict2[k] = v[n]
    except IndexError:
        dict2[k] = None

相关问题 更多 >