我做了一个小程序,用户输入一个名字和一个他们会给某人的礼物。然后,这些数据以["name","present"]
格式保存,然后在文本文件中为新输入保存新行。
当我打印它时,它看起来像这样。
["bob","car"]
["charlie","mansion"]
这是可以预料的。 我想在列中打印它,所以它打印出来。
bob car
charlie mansion
我知道如何删除[],'
以便正确显示,但不知道如何在列中打印。
我做了研究并找到了像zip
这样的方法,但是他们打印出这样的文字。
bob charlie
car mansion
这不是我想要的订单。
答案 0 :(得分:3)
您需要确定数据中最长的名称,以便使用其长度来格式化数据:
data = [
["bob", "car"],
["charlie", "mansion"]
]
n = max(len(item[0]) for item in data) + 5 # We add 5 more spaces between columns
for item in data:
print('{:<{n}} {}'.format(*item, n=n))
答案 1 :(得分:1)
可以有更多的pythonic方式,但这是我的解决方案
In [58]: a = ["bob","car"]
In [59]: b = ["charlie","mansion"]
In [60]: cc = [a,b]
In [61]: for item in cc:
...: print("{:<7} {:<7}".format(item[0],''.join(map(str,item[1:]))))
bob car
charlie mansion