如何将多个列表的字符串拆分成单个列表?

时间:2015-08-30 22:55:13

标签: python python-2.6

在尝试下面的回复后,似乎我的列表不是字符串,而是由“\ n”分隔的一堆列表,因为当我尝试用三引号替换引号时,我得到一个AttributeError:'list'对象没有属性'更换'。因此,要更改我的问题,如何从以下显示单个列表显然不是字符串?

x = [u'Tonight']
[u'Partly', u'cloudy.', u'Clearing', u'this', u'evening.', u'Wind',     u'west', u'20', u'km/h', u'gusting', u'to', u'40', u'becoming', u'light',     u'this', u'evening.', u'Low', u'9.']
[u'31', u'Aug']
[u'Increasing', u'cloudiness', u'near', u'noon.', u'Wind', u'becoming',     u'southwest', u'30', u'km/h', u'early', u'in', u'the', u'afternoon.',     u'High', u'19.', u'UV', u'index', u'4', u'or', u'moderate.']
[u'Night']
[u'Clearing', u'in', u'the', u'evening.', u'Wind', u'southwest', u'30',     u'km/h', u'becoming', u'light', u'in', u'the', u'evening.', u'Low', u'8.']
[u'1', u'Sep']
[u'Sunny.', u'High', u'22.']
[u'Night']
[u'Clear.', u'Low', u'10.']
[u'2', u'Sep']
[u'Sunny.', u'High', u'15.']
[u'Night']
[u'Clear.', u'Low', u'plus', u'3.']
[u'3', u'Sep']
[u'Cloudy', u'with', u'40', u'percent', u'chance', u'of', u'showers.',     u'High', u'12.']
[u'Night']
[u'Cloudy', u'with', u'30', u'percent', u'chance', u'of', u'showers.',     u'Low', u'plus', u'4.']
[u'4', u'Sep']
[u'Cloudy', u'with', u'30', u'percent', u'chance', u'of', u'showers.',     u'High', u'12.']
[u'Night']
[u'Cloudy', u'with', u'60', u'percent', u'chance', u'of', u'showers.',     u'Low', u'plus', u'4.']
[u'5', u'Sep']
[u'Cloudy', u'with', u'60', u'percent', u'chance', u'of', u'showers.',     u'High', u'12.']

1 个答案:

答案 0 :(得分:1)

>>> import ast
>>> x = """..."""
>>> [ast.literal_eval(l) for l in x.split('\n')]
[[u'Tonight'], [u'Partly', u'cloudy.', u'Clearing', u'this', u'evening.', u'Wind', u'west', u'20', u'km/h', u'gusting', u'to', u'40', u'becoming', u'light', u'this', u'evening.', u'Low', u'9.'], [u'31', u'Aug'], [u'Increasing', u'cloudiness', u'near', u'noon.', u'Wind', u'becoming', u'southwest', u'30', u'km/h', u'early', u'in', u'the', u'afternoon.', u'High', u'19.', u'UV', u'index', u'4', u'or', u'moderate.'],...]

确保用三引号括起字符串。