É possível ignorar uma declaração if quandoDelimitar uma lista que tenha uma presença e ausência de um delimitador ","? Eu gostaria de delimitar cada lista nesta lista abaixo quando um "," está presente. No entanto, algumas das listas não possuem ",".
oldcode = [["a, b"], ["a"], ["a,b,c"]]
oldcode_split = []
for code in oldcode:
oc = code.split(",")
oldcode_split.append(oc)
print oldcode_split
Eu gostaria desse resultado:
oldcode_split = [["a","b"], ["a"], ["a","b","c"]]
Obrigado!
Respostas:
5 para resposta № 1sim é possível, use uma simples compreensão de lista:
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"]]
usando map()
:
In [66]: map(lambda x:x[0].split(","),lis)
Out[66]: [["a", " b"], ["a"], ["a", "b", "c"]]
0 para resposta № 2
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]
### embora os métodos que eu usei para ter o resultado não sejam tão bons. mas a diversidade é beleza.