W aktualnym kodem, jesteś iteracji na sznurku, który reprezentuje listę, stąd można uzyskać poszczególne znaki.
>>> 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']']
Wydaje mi się, chcesz przekonwertować wewnętrzną reprezentację ciąg listy, do listy spłaszczonym, więc proszę bardzo:
>>> l = [u'[190215]']
>>> l = [item for value in l for item in literal_eval(value)]
>>> l
[190215]
Powyższy będzie działać tylko wtedy, gdy wszystkie wykazy wewnętrzne są ciągi:
>>> 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
wyjściowego, takiego jak l = [ '[190215]'] ?? –
'l' jest pojedynczą listą, składającą się z jednego elementu, a ten element jest typu' unicode'. Jest to ciąg, który wygląda jak "[190215]", nie jest to lista, której elementem jest liczba '190215'. Czy możesz dokładnie powiedzieć, czego oczekujesz od wyjścia? –