, आप एक स्ट्रिंग है, जो एक सूची का प्रतिनिधित्व करता है पर पुनरावृत्ति कर रहे हैं इसलिए आप अलग-अलग पात्रों मिलता है।
>>> 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']']
मुझे लगता है, तो आप एक चपटी सूची, सूची के भीतरी स्ट्रिंग प्रतिनिधित्व परिवर्तित करना चाहते हैं, तो यहाँ तुम जाओ:
>>> l = [u'[190215]']
>>> l = [item for value in l for item in literal_eval(value)]
>>> l
[190215]
ऊपर केवल जब सब काम करेंगे
>>> 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
स्रोत
2015-06-22 09:11:21
उत्पादन एल की तरह = [ '[190,215]'] ?? –
'एल' एक एकल सूची है, जिसमें एक तत्व शामिल है, और वह तत्व 'यूनिकोड' प्रकार का है। यह एक स्ट्रिंग है जो '[1 921215]' की तरह दिखती है, यह ऐसी सूची नहीं है जिसका तत्व संख्या '190215' है। क्या आप बिल्कुल कह सकते हैं कि आप आउटपुट की अपेक्षा करते हैं? –