在分隔同时存在和不存在','分隔符的列表时,是否可以绕过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']]
谢谢!
答案 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]
###虽然我以前使用的方法结果不太好。但多样性才是美。