python - 在垂直列中打印字典旋转结果
问题描述
我有这本字典:
dict1 = {'Name': ['Mary','Bob'],'Surname': ['White','Red']}
如果我进行打印,我将得到以下输出:
Surname White
Red
Name Mary
Bob
但我想要这个输出
Name Surname
Mary White
Bob Red
不使用熊猫怎么办?
解决方案
这里的代码将对您的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