在Python中将文件内容排序到列表中

时间:2016-03-12 02:36:22

标签: python file-io

所以我正在使用.txt文件,我正在尝试将所有数字排序为整数列表。

我的文件看起来像这样。

21
32
54 65
128
38 92 155 21
54

我希望我的输出为:

[21, 32, 54, 65, 128, 38, 82, 155, 21, 54].

我该怎么做?

3 个答案:

答案 0 :(得分:2)

只需使用//div[@class="showcase-wrapper"][@id="slide-1"]/a/img/@alt 方法:

split

输出:

with open('filename.txt', 'r') as file:  # replace filename.txt with your filename
    data = file.read().split()
    data = [int(x) for x in data]  # this will convert all of the numbers to integers

print(data)

答案 1 :(得分:2)

您可以使用.split(),但这会提供字符串列表。要进行转换,您可以使用[int(number) for number in numbers]list(map(int, numbers))

with open("myfile.txt") as f:
    numbers = f.read().split()
    integers = list(map(int, numbers))

答案 2 :(得分:0)

好吧,如果你想从文本文件中读取所有数字,将它们排序并存储在列表中,你可以试试这个代码片段:

data = []
with open('input.txt', 'r') as fp:
    for line in fp.readlines():
        _lineData = line.split(' ')
        for num in  [int(f) for f in _lineData if f != '']:
            data.append(num)
data.sort()

input.txt的内容

21
32
54 65
128
38 92 155 21
54

基于文本文件内容的输出将为:

[21, 21, 32, 38, 54, 54, 65, 92, 128, 155]