首页 > 解决方案 > 在垂直列中打印字典旋转结果

问题描述

我有这本字典:

dict1 = {'Name': ['Mary','Bob'],'Surname': ['White','Red']}

如果我进行打印,我将得到以下输出:

Surname    White
           Red
Name       Mary
           Bob

但我想要这个输出

Name       Surname
Mary       White
Bob        Red

不使用熊猫怎么办?

标签: pythondictionary

解决方案


这里的代码将对您的dict的键进行排序(因此每次对于相同的数据您都会得到相同的结果)并以您提供的任何数量的dict的键和值的格式打印您的dict。

dict1 = {'Name': ['Mary','Bob'],'Surname': ['White','Red']}
sorted_keys = sorted(dict1.keys())

spacing = 10
print_sheme = ('{:<' + str(spacing) + '}')*len(list(dict1.values())[0])

print(print_sheme.format(*sorted_keys))
for i in range(len(list(dict1.values())[0])):
    values_to_print = [dict1[key][i] for key in sorted_keys]
    print(print_sheme.format(*values_to_print))

输出:

Name      Surname   
Mary      White     
Bob       Red 

推荐阅读