Подсписки Python count во вложенном списке - PullRequest
0 голосов
/ 13 января 2010

Я создал список ->

a = [[1,2,3],[4,5,6],[7,8,9]]
  1. Как получить количество подсписков в a? Как и в этом случае это 3

  2. Для обхода этого списка я использую цепочку инструментов итератора

    for elt in itertools.chain.from_iterable(node):
    

Можно ли узнать, прошел ли я подсписок?

Ответы [ 6 ]

5 голосов
/ 13 марта 2014

Я нашел эту страницу, чтобы узнать, как получить сумму для всех подсписков. Я понял, что это можно сделать с помощью:

sum(len(x) for x in a)

Может быть, это поможет кому-то еще ...

5 голосов
/ 13 января 2010

как и в любом другом списке:

>>> len(a)
3

Питонный способ подсчета подсписков в гетерогенном списке:

>>> sum(isinstance(i, list) for i in a)
3

Ваш второй вопрос неясен. ты не можешь прочитать свой код?

4 голосов
/ 13 января 2010
  1. sum(1 for x in a if isinstance(x, list))

    Предполагается, что в a могут быть и другие элементы, кроме списков.

  2. Нет. Делегирование на itertools обычно означает, что вы перестаете знать что-либо о базовых значениях.

0 голосов
/ 13 января 2010

если в списке хранятся разные типы, вы можете перечислить их следующим образом:

n=0
for b in a:
    if type(b)==type([]):
        n+=1

дополнение:

да, sum(1 for x in a if isinstance(x, list)) более питонический

0 голосов
/ 13 января 2010

Количество подсписков

len(a)

Каждый подсписок является элементом списка, поэтому у вас есть три элемента, каждый из которых представляет собой список с тремя элементами (которые являются числами)

0 голосов
/ 13 января 2010

1) len (a) равно 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...