将str和list的列表转换为di

2024-04-19 17:49:29 发布

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

在Python中,如何将包含字符串的列表和具有两个值的列表转换为字典,以便键是字符串,值是列表的列表,以便每个列表的第一个值是键。你知道吗

例如,我当前的列表是:

['A', ['A', 1], 'B', ['B',1], ['B',2], 'C', ['C', 1], ['C',2], ['C',3]]

我想要这本字典:

{'A': [['A', 1]], 'B': [['B',1], ['B',2]], 'C': [['C',1], ['C',2],['C',3]]}

谢谢你。你知道吗

编辑:字符串后面的列表数是任意的。你知道吗


Tags: 字符串编辑列表字典
3条回答

你可以试试defaultdict

from collections import defaultdict
my_dict = defaultdict(list)
my_list = ['A', ['A', 1], ['A',2], 'B', ['B',1], ['B',2], 'C', ['C', 1], ['C',2]]
for index in my_list:
    if len(index) > 1:
        my_dict[index[0]].append(index)
d = {l: [] for l in mylist if type(l) is str} 

for l in mylist:
    if type(l) is list:
        d[l[0]].append(l)

这样,不管列表的顺序如何,它都能准确地选择您要查找的内容。你知道吗

def new(list_):
    new_dic = {x:[y for y in list_ if type(y) == list and y[0] == x] for x in list_ if type(x) == str}
    print(new_dic)

new(['A', ['A', 1], ['A',2], 'B', ['B',1], ['B',2], 'C', ['C', 1], ['C',2]])

相关问题 更多 >