2016-05-30 3 views
0

У меня такой сценарий.Подсчет объектов в список

[{'dots': True, 'already': True, 'had': True, 'syndrome': True, 'my': True, 'i': True}, 'pos']

Как я могу рассчитывать объекты в первую часть списка?

Я хочу этот выход.

Count: 6 
Objects: dots, already, had, syndrome, my, i 
+0

Вы пробовали len()? – polku

ответ

0

Вы могли бы сделать что-то вроде этого:

my_list = [{'dots': True, 'already': True, 'had': True, 'syndrome': True, 'my': True, 'i': True}, 'pos'] 

    print("Count:", len(my_list[0].keys())) 

    objects = [key for key in my_list[0]] 

    print("Objects:", objects) 

    # Output 
    Count: 6 
    Objects: ['had', 'i', 'already', 'syndrome', 'dots', 'my'] 

Вы также можете получить счет, как это:

count = 0 
    for key in my_list[0]: 
     count += 1 

UPDATE:

Ваш код будет выглядеть следующим образом:

posfeatures = [] 
    for line in base_pos.split('\n'): 
     line = line.lower() 
     pos_words = word_tokenize(line) 
     pos_words = [return_feature(pos_words), "pos"] 
     posfeatures.append(pos_words) 

    print('Count:', len(posfeatures[-1][0].keys())) 

    objects = [key for key in posfeatures[-1][0]] 

    print("Objects:", objects) 

    # Output 
    Count: 6 
    Objects: ['had', 'i', 'already', 'syndrome', 'dots', 'my'] 
+0

Что еще следует учитывать @rospyn? – RoadRunner

+0

Tks ребята! Ты монстры! print (len (posfeatures [-1] [0] .keys())) – rospyn

+0

Да, это хорошо, print (len (posfeatures [-1] [0] .keys())) будет таким же, как наш код , – RoadRunner

0

your_list = [{ 'точки': true, 'уже': Правда, 'было': Правда, 'синдром': Правда, 'мой': Правда, 'я': Правда}, «поз «]

Вы можете попробовать что-то вроде этого:

>>> len(your_list[0]) 
6 

и для объектов:

>>> list(your_list[0].keys()) 
['dots', 'already', 'syndrome', 'i', 'had', 'my'] 

Надеется, что это помогает!

0

позвольте мне немного пояснить.

Я использую этот код.

for line in base_pos.split('\n'): 
     line = line.lower() 
     pos_words = word_tokenize(line) 
     pos_words = [return_feature(pos_words), "pos"] 
     posfeatures.append(pos_words) 

base_pos = текстовый файл с несколькими тысячами строк.

Выход для:

print(posfeatures[-1]) 

является: [{ 'точки': Правда, 'уже': Правда, 'было': Правда, 'синдром': Правда, 'мой': Правда, 'i': True}, 'pos']

Так сделал предыдущий вопрос.

Tks заранее.