首页 > 解决方案 > 遍历 Python 字典中的键

问题描述

我有一个字典,其中包含五个键和对应于每个键的三个值:

mySubList1 = [[1, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6], [2, 8, 4, 6, 7, 8, 9, 10, 11, 12, 12, 13]]
mySubList2 = [[0, -1, 3, 4, 4, 6, -2, 3, 1, 0, -20, -2], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15]]
mySubList3 = [[2, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1], [-1, -3, 44, 22, 4, 7, 7, 8, 9, 10, 11, 20]]

my_dictionary = {
            "Dimensions: ": [],
            "Shape: ": [],
            "Mean: ": [],
            "Median: ": [],
            "Standard Deviation: ": [],
        }

for i in mySubList1, mySubList2, mySubList3:
    print(i)
    my_dictionary['Dimensions: '].append(np.ndim(i))
    my_dictionary['Shape: '].append(np.shape(i))
    my_dictionary['Mean: '].append(np.mean(i))
    my_dictionary['Median: '].append(np.median(i))
    my_dictionary['Standard Deviation: '].append(np.std(i))

我要做的是迭代每个键值对,格式为: Set 1 Key1: Value1 Key2: Value1 Key3: Value1 Key4: Value1 Key5: Value1

设置 2 键 1:值 2 键 2:值 2 键 3:值 2 键 4:值 2 键 5:值 2

等等。

到目前为止,我所拥有的是:

for key, value in my_dictionary.items():
    print(key, value)

这给了我一个不想要的格式输出:

键 1:值 1、值 2、值 3

任何指针?

标签: pythondictionaryiteration

解决方案


如果您想按子列表组织数据,请将您的数据结构从列表字典交换为字典列表

my_list = []
for i in mySubList1, mySubList2, mySubList3:
    my_list.append({
        'Dimension': np.ndim(i),
        'Shape': np.shape(i),
        'Mean': np.mean(i),
        'Median': np.median(i),
        'Standard Deviation': np.std(i)
    })

现在只需 print(my_list) 几乎可以满足您的需求。


推荐阅读