【问题标题】:extract specific key/value from a 2d array of dictionaries从二维字典数组中提取特定的键/值
【发布时间】:2020-03-19 09:12:25
【问题描述】:

您好,我有一个二维字典数组,我想从中提取满足特定条件的第一个键的第一个值并将它们放入另一个二维数组中。这是矩阵“coord_curva_testo”(部分):

[[{1: 0}, {2: 1}, {3: 2}, {3: 3}, {4: 4}, {5: 5}, {6: 6}, {6: 7}, {6: 8}, {7: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {8: 19}, {8: 20}, {9: 21}, {9: 22}, {9: 23}, {10: 24}, {10: 25}, {11: 26}, {11: 27}, {11: 28}, {11: 29}, {12: 30}, {12: 31}, {12: 32}, {12: 33}, {12: 34}, {13: 35}, {13: 36}, {13: 37}, {14: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}, {15: 57}, {15: 58}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {6: 6}, {6: 7}, {7: 8}, {8: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {8: 19}, {9: 20}, {9: 21}, {9: 22}, {10: 23}, {10: 24}, {11: 25}, {11: 26}, {11: 27}, {11: 28}, {12: 29}, {12: 30}, {12: 31}, {12: 32}, {12: 33}, {13: 34}, {13: 35}, {13: 36}, {14: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}, {15: 57}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {6: 7}, {7: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {9: 19}, {9: 20}, {9: 21}, {10: 22}, {10: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {12: 28}, {12: 29}, {12: 30}, {12: 31}, {12: 32}, {13: 33}, {13: 34}, {13: 35}, {14: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {6: 6}, {7: 7}, {7: 8}, {7: 9}, {7: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {9: 18}, {9: 19}, {9: 20}, {10: 21}, {10: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {12: 27}, {12: 28}, {12: 29}, {12: 30}, {12: 31}, {13: 32}, {13: 33}, {13: 34}, {14: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {7: 6}, {7: 7}, {7: 8}, {7: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {12: 26}, {12: 27}, {12: 28}, {12: 29}, {12: 30}, {13: 31}, {13: 32}, {13: 33}, {14: 34}, {15: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {6: 6}, {6: 7}, {6: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {11: 21}, {11: 22}, {11: 23}, {11: 24}, {12: 25}, {12: 26}, {12: 27}, {12: 28}, {12: 29}, {13: 30}, {13: 31}, {13: 32}, {14: 33}, {15: 34}, {15: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {5: 7}, {6: 8}, {6: 9}, {6: 10}, {7: 11}, {7: 12}, {7: 13}, {7: 14}, {8: 15}, {8: 16}, {8: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {11: 28}, {12: 29}, {12: 30}, {12: 31}, {13: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}, {14: 51}, {14: 52}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {6: 7}, {6: 8}, {6: 9}, {7: 10}, {7: 11}, {7: 12}, {7: 13}, {8: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {10: 21}, {10: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {12: 28}, {12: 29}, {12: 30}, {13: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}, {14: 51}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {4: 4}, {4: 5}, {5: 6}, {6: 7}, {6: 8}, {7: 9}, {7: 10}, {7: 11}, {7: 12}, {8: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {10: 18}, {10: 19}, {10: 20}, {10: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {12: 27}, {12: 28}, {12: 29}, {13: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}], [{1: 0}, {2: 1}, {3: 2}, {3: 3}, {4: 4}, {5: 5}, {6: 6}, {6: 7}, {7: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {9: 15}, {9: 16}, {10: 17}, {10: 18}, {10: 19}, {10: 20}, {11: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {12: 26}, {12: 27}, {12: 28}, {13: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}], [{1: 0}, {2: 1}, {2: 2}, {3: 3}, {4: 4}, {5: 5}, {5: 6}, {6: 7}, {6: 8}, {6: 9}, {6: 10}, {7: 11}, {7: 12}, {7: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {10: 24}, {11: 25}, {12: 26}, {12: 27}, {13: 28}, {14: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}], [{1: 0}, {1: 1}, {2: 2}, {3: 3}, {4: 4}, {4: 5}, {5: 6}, {5: 7}, {5: 8}, {5: 9}, {6: 10}, {6: 11}, {6: 12}, {7: 13}, {7: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {11: 24}, {12: 25}, {12: 26}, {13: 27}, {14: 28}, {14: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}]]

我想为每一行提取键为 8、10 或 12 的第一个字典,并从每个键中仅提取第一个值。例如,在第一行,这对夫妇是 (8,10)、(10, 24) 和 (12,30)。

我是 Python 新手,我找到了最适合我的语言,这是我的代码(如果你觉得有点乱,很抱歉):

报价

dict_rep = defaultdict(list)
line_plot= [[]]

move = 0

key_num = [8,10,12]

for move in range(len(coord_curva_testo[move])):

    for d in coord_curva_testo[move]: 

        for key, value in d.items():

            if key in key_num:

                dict_rep[key].append(value +1)

    line_plot[move].append({list(dict_rep.items([0][0]:list(dict_rep.values())[0][0]})

    line_plot[move].append({list(dict_rep.items()[1][0]:list(dict_rep.values())[1][0]})

    line_plot[move].append({list(dict_rep.items())[2][0]:list(dict_rep.values())[2][0]})
    curva_plot.append([])

但结果是每一行都有与第一行相同的字典。

[[{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}], [{8: 10}, {10: 24}, {12: 30}]

如果我错了,谁能帮我解释一下,并引导我找到解决问题的好方法?

谢谢

吉安·保罗

【问题讨论】:

    标签: python arrays dictionary 2d


    【解决方案1】:

    这是你追求的格式吗?

    a = [[{1: 0}, {2: 1}, {3: 2}, {3: 3}, {4: 4}, {5: 5}, {6: 6}, {6: 7}, {6: 8}, {7: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {8: 19}, {8: 20}, {9: 21}, {9: 22}, {9: 23}, {10: 24}, {10: 25}, {11: 26}, {11: 27}, {11: 28}, {11: 29}, {12: 30}, {12: 31}, {12: 32}, {12: 33}, {12: 34}, {13: 35}, {13: 36}, {13: 37}, {14: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}, {15: 57}, {15: 58}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {6: 6}, {6: 7}, {7: 8}, {8: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {8: 19}, {9: 20}, {9: 21}, {9: 22}, {10: 23}, {10: 24}, {11: 25}, {11: 26}, {11: 27}, {11: 28}, {12: 29}, {12: 30}, {12: 31}, {12: 32}, {12: 33}, {13: 34}, {13: 35}, {13: 36}, {14: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}, {15: 57}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {6: 7}, {7: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {8: 18}, {9: 19}, {9: 20}, {9: 21}, {10: 22}, {10: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {12: 28}, {12: 29}, {12: 30}, {12: 31}, {12: 32}, {13: 33}, {13: 34}, {13: 35}, {14: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}, {15: 56}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {6: 6}, {7: 7}, {7: 8}, {7: 9}, {7: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {8: 17}, {9: 18}, {9: 19}, {9: 20}, {10: 21}, {10: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {12: 27}, {12: 28}, {12: 29}, {12: 30}, {12: 31}, {13: 32}, {13: 33}, {13: 34}, {14: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}, {15: 55}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {7: 6}, {7: 7}, {7: 8}, {7: 9}, {8: 10}, {8: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {12: 26}, {12: 27}, {12: 28}, {12: 29}, {12: 30}, {13: 31}, {13: 32}, {13: 33}, {14: 34}, {15: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}, {15: 54}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {6: 5}, {6: 6}, {6: 7}, {6: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {11: 21}, {11: 22}, {11: 23}, {11: 24}, {12: 25}, {12: 26}, {12: 27}, {12: 28}, {12: 29}, {13: 30}, {13: 31}, {13: 32}, {14: 33}, {15: 34}, {15: 35}, {15: 36}, {15: 37}, {15: 38}, {15: 39}, {15: 40}, {15: 41}, {15: 42}, {15: 43}, {15: 44}, {15: 45}, {15: 46}, {15: 47}, {15: 48}, {15: 49}, {15: 50}, {15: 51}, {15: 52}, {15: 53}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {5: 7}, {6: 8}, {6: 9}, {6: 10}, {7: 11}, {7: 12}, {7: 13}, {7: 14}, {8: 15}, {8: 16}, {8: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {11: 28}, {12: 29}, {12: 30}, {12: 31}, {13: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}, {14: 51}, {14: 52}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {5: 4}, {5: 5}, {5: 6}, {6: 7}, {6: 8}, {6: 9}, {7: 10}, {7: 11}, {7: 12}, {7: 13}, {8: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {10: 21}, {10: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {11: 27}, {12: 28}, {12: 29}, {12: 30}, {13: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}, {14: 51}], [{1: 0}, {2: 1}, {3: 2}, {4: 3}, {4: 4}, {4: 5}, {5: 6}, {6: 7}, {6: 8}, {7: 9}, {7: 10}, {7: 11}, {7: 12}, {8: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {10: 18}, {10: 19}, {10: 20}, {10: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {11: 26}, {12: 27}, {12: 28}, {12: 29}, {13: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}, {14: 50}], [{1: 0}, {2: 1}, {3: 2}, {3: 3}, {4: 4}, {5: 5}, {6: 6}, {6: 7}, {7: 8}, {7: 9}, {7: 10}, {7: 11}, {8: 12}, {8: 13}, {8: 14}, {9: 15}, {9: 16}, {10: 17}, {10: 18}, {10: 19}, {10: 20}, {11: 21}, {11: 22}, {11: 23}, {11: 24}, {11: 25}, {12: 26}, {12: 27}, {12: 28}, {13: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}, {14: 49}], [{1: 0}, {2: 1}, {2: 2}, {3: 3}, {4: 4}, {5: 5}, {5: 6}, {6: 7}, {6: 8}, {6: 9}, {6: 10}, {7: 11}, {7: 12}, {7: 13}, {8: 14}, {8: 15}, {9: 16}, {9: 17}, {9: 18}, {9: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {10: 24}, {11: 25}, {12: 26}, {12: 27}, {13: 28}, {14: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}, {14: 48}], [{1: 0}, {1: 1}, {2: 2}, {3: 3}, {4: 4}, {4: 5}, {5: 6}, {5: 7}, {5: 8}, {5: 9}, {6: 10}, {6: 11}, {6: 12}, {7: 13}, {7: 14}, {8: 15}, {8: 16}, {9: 17}, {9: 18}, {10: 19}, {10: 20}, {10: 21}, {10: 22}, {10: 23}, {11: 24}, {12: 25}, {12: 26}, {13: 27}, {14: 28}, {14: 29}, {14: 30}, {14: 31}, {14: 32}, {14: 33}, {14: 34}, {14: 35}, {14: 36}, {14: 37}, {14: 38}, {14: 39}, {14: 40}, {14: 41}, {14: 42}, {14: 43}, {14: 44}, {14: 45}, {14: 46}, {14: 47}]]
    
    rv = []
    for r in a:
        ret = []
        for i in [8, 10, 12]:
            ret.append(next(d for d in r if i in d))
        rv.append(ret)
    

    或者作为单行:

    rv = [[next(d for d in r if i in d) for i in [8, 10, 12]] for r in a]
    

    输出:

    >>> rv
    [[{8: 10}, {10: 24}, {12: 30}],
     [{8: 9}, {10: 23}, {12: 29}],
     [{8: 12}, {10: 22}, {12: 28}],
     [{8: 11}, {10: 21}, {12: 27}],
     [{8: 10}, {10: 20}, {12: 26}],
     [{8: 12}, {10: 19}, {12: 25}],
     [{8: 15}, {10: 20}, {12: 29}],
     [{8: 14}, {10: 19}, {12: 28}],
     [{8: 13}, {10: 18}, {12: 27}],
     [{8: 12}, {10: 17}, {12: 26}],
     [{8: 14}, {10: 20}, {12: 26}],
     [{8: 15}, {10: 19}, {12: 25}]]
    

    【讨论】:

    • 您好 CDJB,感谢您的解决方案。我正在研究它,因为有些字典中没有键 12。所以我想知道如何修改在线的for循环。
    • 您可以将 ret.append 行包装在 try: except: pass 语句中 - 如果没有字典的键为 12,那么它将跳过该键值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多