我有以下的数据结构:拼合列表的列表与一捻
a= [
[u'happy', u'thursday', u'from', u'my', u'big', u'sweater', u'and', u'this',
u'ART', u'@', u'East', u'Village', u',', u'Manhattan', u'https',
u':', u'//t.co/5k8PUInmqK'],
[u'RT', u'@', u'MayorKev', u':', u'IM', u'SO', u'HYPEE', u'@', u'calloutband',
u'@', u'FreakLikeBex', u'#', u'Callout', u'#', u'TheBitterEnd', u'#',
u'Manhattan', u'#', u'Music', u'#', u'LiveMusic', u'#', u'NYC',
u'#', u'NY', u'#',
u'Jersey', u'#', u'NJ', u'http', u':', u'//t.co/0\u2026']
]
我看到这一点的方式,它是一个字符串列表的列表,但它是由一对[]而笼罩()。所述双[]是系统发出的一个结果是:
a = [nltk.tokenize.word_tokenize(tweetL) for tweetL in tweetList]
最后,我需要这种结构变平为字符串的列表,并进行一些正则表达式和上的文字进行计数操作,但外双[]正在阻止这一点。
我试着使用:
list.extend()
和
ll = len(a)
for n in xrange(ll):
print 'list - ', a[n], 'number = ', n
,但仍得到相同的结果:
list - [ number = 1
list - u number = 2
list - ' number = 3
list - h number = 4
list - a number = 5
list - p number = 6
list - p number = 7
正如你看到的,代码考虑的每一个符号字符串作为列表的元素,而不是将整个字符串视为元素
什么可以有效地完成?
尝试这样做:
flat_list = [i for sublist in a for i in sublist]
for i in flat_list:
print 'element - ', i
结果(部分):
element - h
element - a
element - p
element - p
element - y
element -
element - t
我认为这是在你的代码行被铸造为一个字符串,而不是名单列表。它不是一个额外的支架 –
你的输出也不正确,你有另一行说'list - [number = 0'? – zehnpaard
[在Python中创建列表之外的平面列表]的可能副本(http://stackoverflow.com/questions/952914/making-a-flat-list-out-of-list-of-lists-in-蟒蛇) – TigerhawkT3