Python Dict -> List Manpulation

zujrkrfu  于 2023-05-16  发布在  Python
关注(0)|答案(1)|浏览(84)

如何在Python中转换这些数据结构格式?
FROM)Dict[str:array[int]
例如:'A':[1,2,3],'B ':[4,5,6]
int [str:int]]
例如:['A':1,'B ',4},' A ':2,'B':5},'A':3,'B ':6}]
我尝试了理解和循环方法。我似乎只得到一个包含最后一项的数组,所以我覆盖了每个结果。

vof42yt1

vof42yt11#

我希望这段代码会有帮助,但要小心,字典中的数组应该始终具有相同的大小:

D = {'A' : [1, 2, 3], 'B' : [4, 5, 6]}

def transform(dictionary):
    answer = []
    if not dictionary:
        return answer
    pairs = list(dictionary.items())

    for i in range(len(pairs[0][1])):
        cur_dict = {}
        for j in range(len(pairs)):
            cur_dict[pairs[j][0]] = pairs[j][1][i]
        answer.append(cur_dict)
    return answer

print(transform(D))

输出:

[{'A': 1, 'B': 4}, {'A': 2, 'B': 5}, {'A': 3, 'B': 6}]

相关问题