[英]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.