У меня есть следующие структуры данных:Свести список списков с твистом
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']
]
Как я вижу это, есть список списков строк, за исключением того, что окутано парой [], а чем of(). Пара [] является система генерируются в результате:
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
Как вы можете видеть, код считает каждый символ из string как элемент списка, а не рассматривать целую строку как элемент
Что можно сделать эффективно?
попытался это:
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- python) – TigerhawkT3