Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除txt行中的空白并将值添加到列表中_Python_Python 3.x_List - Fatal编程技术网

Python 删除txt行中的空白并将值添加到列表中

Python 删除txt行中的空白并将值添加到列表中,python,python-3.x,list,Python,Python 3.x,List,我有一个.txt文件中的以下文本行 0.14999999999999999 0.20000000000000001 0.29999999999999999 0.34999999999999998 0.50000000000000000 0.59999999999999998 0.69999999999999996 0.72999999999999998 0.84999999999999998

我有一个.txt文件中的以下文本行

  0.14999999999999999       0.20000000000000001       0.29999999999999999       0.34999999999999998       0.50000000000000000       0.59999999999999998       0.69999999999999996       0.72999999999999998       0.84999999999999998       0.90000000000000002     \n
我一直面临着一个问题,那就是如何将第一行写入列表。我尝试过line.strip(),但这只处理了第一个和最后一个空格。还有我无法摆脱的空间。如下所示:

'0.14999999999999999       0.20000000000000001       0.29999999999999999       0.34999999999999998       0.50000000000000000       0.59999999999999998       0.69999999999999996       0.72999999999999998       0.84999999999999998       0.90000000000000002'

我也不能用“”来代替所有的“”,因为所有的数字都会被揉成一团。我也不能假设空格的数量,也不能假设“.”前面的空格数量,因为我可能有大于或等于10的数字。

使用
re.split

下面是一个例子

a = '0.14999999999999999       0.20000000000000001       0.29999999999999999       0.34999999999999998       0.50000000000000000       0.59999999999999998       0.69999999999999996       0.72999999999999998       0.84999999999999998       0.90000000000000002'

import re
output = re.split(' +', a)
输出是

['0.14999999999999999',
 '0.20000000000000001',
 '0.29999999999999999',
 '0.34999999999999998',
 '0.50000000000000000',
 '0.59999999999999998',
 '0.69999999999999996',
 '0.72999999999999998',
 '0.84999999999999998',
 '0.90000000000000002'].
如果希望输出中的每个元素都变为浮点,请使用
map

output = list(map(float, output))

使用
re.split

下面是一个例子

a = '0.14999999999999999       0.20000000000000001       0.29999999999999999       0.34999999999999998       0.50000000000000000       0.59999999999999998       0.69999999999999996       0.72999999999999998       0.84999999999999998       0.90000000000000002'

import re
output = re.split(' +', a)
输出是

['0.14999999999999999',
 '0.20000000000000001',
 '0.29999999999999999',
 '0.34999999999999998',
 '0.50000000000000000',
 '0.59999999999999998',
 '0.69999999999999996',
 '0.72999999999999998',
 '0.84999999999999998',
 '0.90000000000000002'].
如果希望输出中的每个元素都变为浮点,请使用
map

output = list(map(float, output))

您甚至不需要
re
。只需在线上使用
split

'12345'.split()
['1', '2', '3', '4', '5']

您甚至不需要
re
。只需在线上使用
split

'12345'.split()
['1', '2', '3', '4', '5']