小编MrP*_*log的帖子

嵌套列表的嵌套列表

我有一个包含主密钥和列表列表的列表,其中每个封闭列表的第一个值(如'key_01')应该是相应值的子键(如'val_01', 'val_02').数据显示在这里:

master_keys = ["Master_01", "Master_02", "Master_03"]
data_long = [[['key_01','val_01','val_02'],['key_02','val_03','val_04'], ['key_03','val_05','val_06']],
           [['key_04','val_07','val_08'], ['key_05','val_09','val_10'], ['key_06','val_11','val_12']],
           [['key_07','val_13','val_14'], ['key_08','val_15','val_16'], ['key_09','val_17','val_18']]]
Run Code Online (Sandbox Code Playgroud)

我希望将这些列表组合成字典字典,如下所示:

master_dic = {
"Master_01": {'key_01':['val_01','val_02'],'key_02': ['val_03','val_04'], 'key_03': ['val_05','val_06']}, 
"Master_02": {'key_04': ['val_07','val_08'], 'key_05': ['val_09','val_10'], 'key_06': ['val_11','val_12']}, 
"Master_03": {'key_07': ['val_13','val_14'], ['key_08': ['val_15','val_16'], 'key_09': ['val_17','val_18']}
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我得到的是子词:

import itertools

master_dic = {}
servant_dic = {}
keys = []
values = []
for line in data_long:
    for item in line:
        keys.extend(item[:1])
        values.append(item[1:])
servant_dic = dict(itertools.izip(keys, values))
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,它会输出一本字典.

servant_dic = {
'key_06': ['val_11','val_12'], …
Run Code Online (Sandbox Code Playgroud)

python dictionary list enumerate

4
推荐指数
1
解决办法
97
查看次数

标签 统计

dictionary ×1

enumerate ×1

list ×1

python ×1