Python修剪列表中的空格

时间:2011-12-08 10:52:41

标签: python

我有这个字符串:

"3a.24.5t.5a  4     1743 3150924      2786 0"

使用此代码:

for i in flines:
    ll = re.findall(r'\.?\w+', i)
    print ll

我明白了:

['3a.', '24.', '5t.', '5a', '4', '1743', '3150924', '2786', '0']

我需要:

['3a.24.5t.5a', '4', '1743', '3150924', '2786', '0']

由于

4 个答案:

答案 0 :(得分:7)

你有没有使用正则表达式尝试使用split

>>> x="3a.24.5t.5a  4     1743 3150924      2786 0"
>>> x.split()
['3a.24.5t.5a', '4', '1743', '3150924', '2786', '0']

或根据您的代码

for i in flines:
    ll = i.split()
    print ll

答案 1 :(得分:3)

使用split()

>>> ll = "3a.24.5t.5a  4     1743 3150924      2786 0".split()
>>> ll
['3a.24.5t.5a', '4', '1743', '3150924', '2786', '0']

答案 2 :(得分:1)

如果拆分不适合您的目的:

>>> import re
>>> re.findall(r'\S+',"3a.24.5t.5a  4     1743 3150924      2786 0")
['3a.24.5t.5a', '4', '1743', '3150924', '2786', '0']

答案 3 :(得分:0)

你只需要使用带有默认参数

的split函数

假设

a = "3a.24.5t.5a  4     1743 3150924      2786 0"

然后做

b =a.split()