我有以下的數據結構:拼合列表的列表與一捻
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