所以我遇到了这个问题,程序打印带有方括号和逗号的列表行。
lista=[]
f=open("eloadas.txt", "r")
for sor in f:
sor=sor.strip().split()
lista.append(sor)
lista.sort()
print("n".join(map(str, lista)))
这就是我所尝试的,预期发生的事情是这样的:
1 1 32 Kovacs Lajos
1 10 30 Bolcskei Zsuzsanna
1 2 43 Kiss Peter
但是我得到了这个:
['1', '1', '32', 'Kovacs', 'Lajos']
['1', '10', '30', 'Bolcskei', 'Zsuzsanna']
['1', '2', '43', 'Kiss', 'Peter']
有人能帮帮我吗?
与其在每个内部映射中调用str
,不如用空格将其连接起来:
print("n".join(map(lambda l : " ".join(l), lista)))
python有一个"解包操作符";-当在列表中使用时,它会像括号不存在一样。
说x = [1, 2, 3]
,*x
就像我写的1, 2, 3
。
print的参数之间可以用逗号分隔。
这两个特性可以一起使用得到:
>>> x = [1, 2, 3, 4]
>>> print(*x)
1 2 3 4
如果你想打印一个没有逗号的列表,使用print(*listname)
可能是这样的:
lista=[]
f=open("eloadas.txt", "r")
for sor in f:
sor=sor.strip().split()
lista.append(sor)
lista.sort()
for item in lista:
print(*item)
但这不是最有效的…