numbers = []
dataFile = open("numbers.txt")
for inputLine in dataFile:
elements = inputLine.split()
numbers1 = elements[0]
print(numbers1)
我的文字文件如下:
45
6
9
10
11
我试图让它像这样读,[45,6,9,10,11] 所以我可以做排序过程,我知道如何进行排序,但是这一次,我遇到了麻烦。我已经尝试了很多可能的方法来使它成为一行,而不是5行。我试图做strip(),它没有出来。
编辑:
elements = []
dataFile = open("numbers.txt")
for inputLine in dataFile:
elements = [int(line) for line in dataFile]
print(elements)
这个问题, 我的文件文件如下所示:
45
6
9
10
11
当我这样做的时候,它已经丢失了45.每次,它都是第一个号码。
感谢。
答案 0 :(得分:2)
使用列表理解:
with open("numbers.txt") as f:
nums = [int(line) for line in f]
nums.sort()
print nums
<强>输出:强>
[6, 9, 10, 11, 45]
答案 1 :(得分:0)
列表推导的另一种替代方法是使用numpy,numpy.loadtxt
是一种加载.txt的简单方法,然后您可以使用numpy.sort
对数组进行排序:
>>> import numpy as np
>>> x = np.loadtxt('numbers.txt')
>>> print x
[ 45. 6. 9. 10. 11.]
>>> np.sort(x)
[ 6. 9. 10. 11. 45.]
答案 2 :(得分:0)
您可以使用print(numbers1),
(最后使用逗号)代替print(numbers1)
,以便在一行上打印所有内容。