当分隔符可能同时存在和不存在时,在列表列表中拆分分隔符

时间:2012-10-15 17:06:20

标签: python list loops split delimiter

在分隔同时存在和不存在','分隔符的列表时,是否可以绕过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']]

谢谢!

2 个答案:

答案 0 :(得分: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']]

答案 1 :(得分: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]

###虽然我以前使用的方法结果不太好。但多样性才是美。