我用Python编写了这段代码:
with open ('textfile.txt') as f:
list=[]
for line in f:
line = line.split()
if line:
line = [int(i) for i in line]
list.append(line)
print(list)
这实际上从文本文件中读取整数并将它们放在列表中。但实际上结果为:
[[10,20,34]]
但是,我希望它显示如下:
10 20 34
怎么做?谢谢你的帮助!
答案 0 :(得分:3)
您可能只想将这些项目添加到列表中,而不是添加它们:
with open('textfile.txt') as f:
list = []
for line in f:
line = line.split()
if line:
list += [int(i) for i in line]
print " ".join([str(i) for i in list])
如果将列表附加到列表,则创建子列表:
a = [1]
a.append([2,3])
print a # [1, [2, 3]]
如果你添加它,你会得到:
a = [1]
a += [2,3]
print a # [1, 2, 3]!
答案 1 :(得分:1)
with open('textfile.txt') as f:
lines = [x.strip() for x in f.readlines()]
print(' '.join(lines))
使用输入文件' textfiles.txt'包含:
10
20
30
打印:
10 20 30
答案 2 :(得分:0)
听起来您正在尝试打印列表列表。最简单的方法是迭代它并打印每个列表。
for line in list:
print " ".join(str(i) for i in line)
另外,我认为list
是Python中的关键字,所以尽量避免命名你的东西。
答案 3 :(得分:0)
如果您知道文件不是很长,如果您想要整数列表,您可以立即执行(两行,其中一行是with open(...
。如果您想以您的方式打印它,您可以将元素转换为字符串并通过' '.join(...
加入结果 - 如下所示:
#!python3
# Load the content of the text file as one list of integers.
with open('textfile.txt') as f:
lst = [int(element) for element in f.read().split()]
# Print the formatted result.
print(' '.join(str(element) for element in lst))
不要对变量使用list
标识符,因为它会掩盖列表类型的名称。