In Ihrem aktuellen Code, Sie auf einer Schnur iterieren, die eine Liste darstellt, somit erhalten Sie die einzelnen Zeichen.
>>> from ast import literal_eval
>>> l = [u'[190215]']
>>> l = [item for value in l for item in value]
>>> l
[u'[', u'1', u'9', u'0', u'2', u'1', u'5', u']']
Scheint mir, Ihnen die innere String-Darstellung der Liste, um eine abgeflachte Liste konvertieren möchten, so hier geht:
>>> l = [u'[190215]']
>>> l = [item for value in l for item in literal_eval(value)]
>>> l
[190215]
Die oben funktioniert nur, wenn alle Innenlisten sind Strings:
>>> l = [u'[190215]', u'[190216, 190217]']
>>> l = [item for value in l for item in literal_eval(value)]
>>> l
[190215, 190216, 190217]
>>> l = [u'[190215]', u'[190216, 190217]', [12, 12]]
>>> l = [item for value in l for item in literal_eval(value)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string
Ausgabe wie l = [ '[190215]'] ?? –
'l' ist eine einzelne Liste, die aus einem Element besteht und das Element vom Typ 'Unicode' ist. Es ist eine Zeichenkette, die aussieht wie '[190215]', es ist keine Liste, deren Element die Nummer '190215' ist. Können Sie genau sagen, was Sie von der Ausgabe erwarten? –