Показано с 1 по 10 из 10

Тема: Как посчитать количество элементов в списке списков Python?

  1. Как посчитать количество элементов в списке списков Python?

    Ребят, привет! Как правильно посчитать количество элементов в списке списков Python? У меня есть такой вот список списков, например: [[1, 2, 3], [4, 5], [6, 7, 8, 9]]. Как мне узнать общее количество всех элементов во всех вложенных списках? Не могу предусмотреть, какая сложная структура может там быть, но хотелось бы максимум гибкости. Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет, попробуй так:

    Программный код:
    my_list = [[123], [45], [6789]]
    count sum(len(sublist) for sublist in my_list)
    print(
    count
    len(sublist) вернёт количество элементов в каждом подсписке, а sum всё это суммирует. Должно помочь!

  4. Цитата Сообщение от Голубика
    Привет, попробуй так:

    Программный код:
    my_list = [[123], [45], [6789]]
    count sum(len(sublist) for sublist in my_list)
    print(
    count
    len(sublist) вернёт количество элементов в каждом подсписке, а sum всё это суммирует. Должно помочь!
    Выглядит просто. Попробую у себя такой подход, спасибо!

  5. Есть ещё вариант через itertools:

    Программный код:
    import itertools
    my_list 
    = [[123], [45], [6789]]
    flattened_list = list(itertools.chain.from_iterable(my_list))
    count len(flattened_list)
    print(
    count
    Этот подход сначала разворачивает вложенные списки в один плоский список, а потом считает количество элементов.

  6. Цитата Сообщение от samsebemaster
    Есть ещё вариант через itertools:

    Программный код:
    import itertools
    my_list 
    = [[123], [45], [6789]]
    flattened_list = list(itertools.chain.from_iterable(my_list))
    count len(flattened_list)
    print(
    count
    Этот подход сначала разворачивает вложенные списки в один плоский список, а потом считает количество элементов.
    Не слышал раньше про itertools. Спасибо за новый метод, попробую теперь его!

  7. Если хочешь максимальной гибкости, можно использовать рекурсию. Вот пример:

    Программный код:
    def count_elements(lst):
        if 
    not isinstance(lst, list):
            return 
    1
        
    return sum(count_elements(sublist) for sublist in lst)

    my_list = [[123], [45], [6, [78], 9]]
    count count_elements(my_list)
    print(
    count
    Эта функция учитывает вложенные списки любой глубины. Если элемент не список, он просто возвращает 1.

  8. Цитата Сообщение от Офелия
    Если хочешь максимальной гибкости, можно использовать рекурсию. Вот пример:

    Программный код:
    def count_elements(lst):
        if 
    not isinstance(lst, list):
            return 
    1
        
    return sum(count_elements(sublist) for sublist in lst)

    my_list = [[123], [45], [6, [78], 9]]
    count count_elements(my_list)
    print(
    count
    Эта функция учитывает вложенные списки любой глубины. Если элемент не список, он просто возвращает 1.
    Ого, рекурсия - это мощно! Надо будет проверить, как она справится со сложными структурами. Спасибо!

  9. Кстати, вот чатик в телеге, где реально помогают по питону здесь.

  10. Цитата Сообщение от Ирина_
    Кстати, вот чатик в телеге, где реально помогают по питону здесь.
    Спасибо за ссылочку, я там состою уже)) действительно полезно!