Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

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

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

    Ребят, нужна помощь! Пытаюсь разобраться, как в Python проверить наличие элемента в списке списков. У меня есть список, состоящий из подсписков, и иногда нужно узнать, существует ли определённое значение где-то внутри этих подсписков. Может кто-то знает эффективный способ это сделать? Примеры кода очень приветствуются!



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

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

  3. Привет! Это можно сделать с помощью простого подхода в Python. Вот пример кода, который может помочь:

    Программный код:

        my_list 
    = [[123], [456], [789]]

        
    def element_in_list_of_lists(elementlist_of_lists):

            for 
    sublist in list_of_lists

                if 
    element in sublist:

                    return 
    True

            
    return False

    print(element_in_list_of_lists(5my_list))  # True 

    print(element_in_list_of_lists(10my_list))  # False 
    Надеюсь, это поможет!

  4. Цитата Сообщение от BarbarianChief
    Привет! Это можно сделать с помощью простого подхода в Python. Вот пример кода, который может помочь:

    Программный код:

        my_list 
    = [[123], [456], [789]]

        
    def element_in_list_of_lists(elementlist_of_lists):

            for 
    sublist in list_of_lists

                if 
    element in sublist:

                    return 
    True

            
    return False

    print(element_in_list_of_lists(5my_list))  # True 

    print(element_in_list_of_lists(10my_list))  # False 
    Надеюсь, это поможет!
    Круто! Такой метод работает для небольших списков, но если список большой, можно подумать о numpy или pandas для ускорения.

  5. Ещё один вариант - использовать генераторы:

    Программный код:

        any
    (5 in sublist for sublist in my_list
    Это гораздо более элегантно и читабельно.

  6. Цитата Сообщение от Cuzmos
    Ещё один вариант - использовать генераторы:

    Программный код:

        any
    (5 in sublist for sublist in my_list
    Это гораздо более элегантно и читабельно.
    Генераторы - это тема! Они реально упрощают код. Хороший пример!

  7. Смотря какая у тебя там структура данных. Вот на случай, если у тея всё упорядочено, можно использовать itertools:

    Программный код:

        from itertools import chain

        my_list 
    = [[123], [456], [789]]

        print(
    5 in chain(*my_list))  # True 
    Удачи!

  8. Цитата Сообщение от Batgirl
    Смотря какая у тебя там структура данных. Вот на случай, если у тея всё упорядочено, можно использовать itertools:

    Программный код:

        from itertools import chain

        my_list 
    = [[123], [456], [789]]

        print(
    5 in chain(*my_list))  # True 
    Удачи!
    Чейнить списки - шикарная идея для таких задач. Но наверное, сложновато для новичков.

  9. Легко, найди элемент с помощью класса:

    Программный код:

        
    class ListSearcher():

            
    def __init__(selflist_of_lists):

                
    self.list_of_lists list_of_lists


            def search
    (selfelement):

                return 
    any(element in sublist for sublist in self.list_of_lists)


    my_lsts = [[123], [456], [789]]
    searcher ListSearcher(my_lsts)

        
    # классы держат код чистым!

    print(searcher.search(5))  # True 
    Вот так вот можно считать более структурно.

  10. Цитата Сообщение от Раиса
    Легко, найди элемент с помощью класса:

    Программный код:

        
    class ListSearcher():

            
    def __init__(selflist_of_lists):

                
    self.list_of_lists list_of_lists


            def search
    (selfelement):

                return 
    any(element in sublist for sublist in self.list_of_lists)


    my_lsts = [[123], [456], [789]]
    searcher ListSearcher(my_lsts)

        
    # классы держат код чистым!

    print(searcher.search(5))  # True 
    Вот так вот можно считать более структурно.
    Хорошая идея! Классы всегда помогают держать чистоту кода. Ещё и помню, что читаемость улучшится.

Страница 1 из 2 12 ПоследняяПоследняя