在当前代码中,您正在迭代表示列表的字符串,因此得到了各个字符。
>>> 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']']
在我看来,您想将list的内部字符串表示形式转换为扁平化的列表,因此您可以执行以下 *** 作:
>>> 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)