Python 从文本文件打印列中的列表
我制作了一个小程序,用户输入一个名字和他们将要送给某人的礼物。然后,这些数据以Python 从文本文件打印列中的列表,python,python-3.x,Python,Python 3.x,我制作了一个小程序,用户输入一个名字和他们将要送给某人的礼物。然后,这些数据以[“name”,“present”]的格式保存,然后在文本文件中为新输入添加一行 当我打印它时,它看起来是这样的 ["bob","car"] ["charlie","mansion"] bob car charlie mansion bob charlie car mansion 这是意料之中的。 我想在列中打印它,这样它就可以像这样打印 ["bob","car"] ["cha
[“name”,“present”]
的格式保存,然后在文本文件中为新输入添加一行
当我打印它时,它看起来是这样的
["bob","car"]
["charlie","mansion"]
bob car
charlie mansion
bob charlie
car mansion
这是意料之中的。
我想在列中打印它,这样它就可以像这样打印
["bob","car"]
["charlie","mansion"]
bob car
charlie mansion
bob charlie
car mansion
我知道如何删除[],”
,因此它可以正确显示,但不知道如何在列中打印
我做了研究,找到了像zip
这样的方法,但它们是这样打印文本的
["bob","car"]
["charlie","mansion"]
bob car
charlie mansion
bob charlie
car mansion
这不是我想要的顺序。您需要确定数据中最长的名称,才能使用其长度格式化数据:
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))
数据=[
[“鲍勃”,“汽车”],
[“查理”,“大厦”]
]
n=max(对于数据中的项,len(项[0])))+5#我们在列之间再添加5个空格
对于数据中的项目:
打印(“{:您需要确定数据中最长的名称,才能使用其长度格式化数据:
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))
数据=[
[“鲍勃”,“汽车”],
[“查理”,“大厦”]
]
n=max(对于数据中的项,len(项[0])))+5#我们在列之间再添加5个空格
对于数据中的项目:
print(“{:可以有更多类似python的方法,但这是我的解决方案
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
[58]中的:a=[“鲍勃”,“汽车”]
在[59]中:b=[“查理”,“大厦”]
在[60]中:cc=[a,b]
In[61]:对于cc中的项目:
…:print(“{:可以有更多类似python的方法,但这是我的解决方案
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
[58]中的:a=[“鲍勃”,“汽车”]
在[59]中:b=[“查理”,“大厦”]
在[60]中:cc=[a,b]
In[61]:对于cc中的项目:
这应该给你指出正确的方向:它确实是这样。这应该给你指出正确的方向:它确实是这样。谢谢