/ / Dividir um delimitador em uma lista de lista quando o delimitador pode estar presente e ausente - python, list, loops, split, delimiter

Dividir um delimitador em uma lista de lista quando o delimitador pode estar presente e ausente - python, list, loops, split, delimiter

É 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 № 1

sim é 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.