我有一本字典,其中包含键(如单词)和值(如数字)。

d = dict(bag.items())


如何将键和值打印到两列中,其中第二列具有最长键的宽度,而所有值都在右侧打印?

 10     potatoes
  8       tomato
  5        onion
  3        plate
  2          ham
  1         meat


我尝试了这个:

for k, v in bag.items():
    print(v, k)


但是我必须找到一种在右侧设置值的方法,以便在键和值之间留出适当的空间。

最佳答案

建立最大宽度,并使用format字符串:

mkey = max(map(len, (map(str, bag.keys()))))
mval = max(map(len, (map(str, bag.values()))))

for k, v in bag.items():
    print('  {:>{}}    {:>{}}'.format(k, mkey, v, mval))

关于python - 如何将值和键打印到两列之间,并在它们之间留有适当的间隔?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43800597/

10-12 20:22