我有一个带有一些纯数字的文本文件,我希望它们作为列表中的整数。
例如我想要这样
299 314 427
转换成这个
list = [[299], [314], [427]]
我读了文本文件
with open('C:/...', 'r') as f:
masses= f.read()
然后我使用一个for循环和Spectrum.split(''),因为空格是唯一一个将整数分开的东西,但是它要分别列出每个数字

list = []
masses.split(' ')
for mass in masses:
    list.append(mass)


结果是['2','9','9','','3',......]
我如何将它们拆分并添加到列表中?

最佳答案

使用列表理解:

>>> with open('FILEPATH') as f:
...     lst = [[int(n)] for n in f.read().split()]
...
>>> lst
[[299], [314], [427]]


不带参数的str.split按连续的空格(空格,制表符,换行符,..)分割字符串:

>>> 'a\t\tb\nc  d'.split()
['a', 'b', 'c', 'd']
>>> 'a\t\tb\nc  d'.split(' ')
['a\t\tb\nc', '', 'd']


不要使用list作为变量名。它隐藏了内置函数list

10-07 19:14
查看更多