从带有元组的dict到带有列表的dict

时间:2017-10-11 11:56:34

标签: python list dictionary tuples

我在Python中有一个包含时间戳,t和值标记的字典v,如下所示:

dict_example = {key1: [(t1, v1), (t2, v2), (t3, v3)],
                key2: [(t4, v4), (t5, v5), (t6, v6)],
                ...}

我想做的是制作两个单独的词组:

dict_example_timestamps = {key1: [t1, t2, t3],
                           key2: [t4, t5, t6],
                           ...}

dict_example_valuestamps = {key1: [v1, v2, v3],
                            key2: [v4, v5, v6],
                            ...}

即,两个单独的dicts,其中一个包含每个键的时间戳列表,另一个包含每个键的valuestamp列表。

我已经成功了#39;在获得所有时间戳作为列表,但他们需要被分组'每个键。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

dict_example = {"key1": [(21, 45), (23, 30), (23, 23)],
            "key2": [(10, 45), (15, 51), (56, 6)]}
dict_example_timestamps = {a:[c for c, d in b] for a, b in dict_example.items()}
dict_example_valuestamps = {a:[d for c, d in b] for a, b in dict_example.items()}
print(dict_example_timestamps)
print(dict_example_valuestamps)

输出:

{'key1': [21, 23, 23], 'key2': [10, 15, 56]}
{'key1': [45, 30, 23], 'key2': [45, 51, 6]}