繁体   English   中英

根据值将嵌套列表拆分/排序到字典中

[英]Split/Sort nested list into a dictionary based on values

我有一个嵌套列表,我想根据嵌套列表中的特定值将其拆分并排序到字典中。

这是一个示例代码:

list = [['item1',['some_value1', 1]], [['item2',['some_value2', 2]], ['item3',['some_value3', 1]]]

# I would like to convert this list into a dictionary

final_dict1 = {1:{'item1':['some_value1', 1], 'item3':['some_value3', 1]}, 2:{'item2':['some_value2', 2]}}

# OR

final_dict2 = {1:[['item1',['some_value1', 1]], ['item3',['some_value3', 1]]], 2:['item2':['some_value2', 2]]}

基本上我想根据它们各自的子列表中的特定键对列表项进行排序,并从中制作一个字典。

IIUC,您可以执行以下操作(使用collections.defaultdict ):

from collections import defaultdict

lst = [['item1',['some_value1', 1]], ['item2',['some_value2', 2]], ['item3',['some_value3', 1]]]

result = defaultdict(dict)
for i, (val, idx) in lst:
    result[idx][i] = [val, idx]

print(dict(result))

Output

{1: {'item1': ['some_value1', 1], 'item3': ['some_value3', 1]}, 2: {'item2': ['some_value2', 2]}}
list = [['item1',[someValue1, 1]], ['item2',[someValue2, 2]], ['item3',[someValue3, 1]]]

result = {}
for i, item in enumerate(list):
    result[i] = {item[1][0]: item[1][1]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM