0

在分隔存在和不存在“,”分隔符的列表时,是否可以绕过 if 语句?当存在“,”时,我想在下面的列表列表中分隔每个列表。但是,有些列表没有“,”。

oldcode = [['a, b'], ['a'], ['a,b,c']]

oldcode_split = []

for code in oldcode:
    oc = code.split(',')
    oldcode_split.append(oc)
print oldcode_split

我想要这个结果:

oldcode_split = [['a','b'], ['a'], ['a','b','c']]

谢谢!

4

2 回答 2

5

是的,有可能,使用简单的列表理解:

In [63]: lis = [['a, b'], ['a'], ['a,b,c']]

In [64]: [x[0].split(',') for x in lis]
Out[64]: [['a', ' b'], ['a'], ['a', 'b', 'c']]

使用map()

In [66]: map(lambda x:x[0].split(','),lis)
Out[66]: [['a', ' b'], ['a'], ['a', 'b', 'c']]
于 2012-10-15T17:08:24.163 回答
0
     python 3.2

    1. [("".join(i)).split(",")for i in oldcode]

    2. import re

     [re.split("\W+",str(i).strip())[1:-1]for i in o]

### 虽然我过去使用的方法效果不太好。但多样性就是美。

于 2012-11-08T17:05:00.770 回答