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

Тема: Ребята, помогите с python фильтрация списка списков!

  1. Ребята, помогите с python фильтрация списка списков!

    Всем привет! Кто-нибудь знает прикольные способы фильтровать списки списков на python?
    Типа есть у меня лол такой список: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]. Хочу фильтровать по разным критериям,
    например, оставить только те подсписки, где хотя бы одно значение больше 5.
    Поделитесь кодом или лайфхаками, буду чрезмерно благодарен!



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

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

  3. О, привет! Я тут недавно делал похожее, вот погляди. Можно юзать `filter` с функцией лямбда.
    Примерчик:

    Программный код:
    lista = [[123], [456], [789]]

    res = list(filter(lambda sublany(for x in subl), lista))
    print(
    res
    Надеюсь поможет!

  4. Цитата Сообщение от ДжеймсБонд
    О, привет! Я тут недавно делал похожее, вот погляди. Можно юзать `filter` с функцией лямбда.
    Примерчик:

    Программный код:
    lista = [[123], [456], [789]]

    res = list(filter(lambda sublany(for x in subl), lista))
    print(
    res
    Надеюсь поможет!
    Ниче так подход, но лучше бы декораторы еще добавить для читаемости. ?

  5. Ну, можно еще через list comprehension сделать. Вот как я это делаю:

    Программный код:
    lista = [[123], [456], [789]]

    res = [subl for subl in lista if any(for x in subl)]
    print(
    res
    Короче, все просто и понятно.

  6. Цитата Сообщение от Обеликс
    Ну, можно еще через list comprehension сделать. Вот как я это делаю:

    Программный код:
    lista = [[123], [456], [789]]

    res = [subl for subl in lista if any(for x in subl)]
    print(
    res
    Короче, все просто и понятно.
    Пахнет хорошо, чисто и без фанатизма. В духе питона.

  7. Йоу! Можешь еще с pandas заморочиться. Если любишь DataFrame и всё такое.

    Программный код:
    import pandas as pd

    df 
    pd.DataFrame([[123], [456], [789]])

    res df[df.apply(lambda rowrow.gt(5).any(), axis=1)]
    print(
    res.values.tolist()) 
    Жирноватый способ, но зато обертка красивая!

  8. Цитата Сообщение от Алиса Сергеевна
    Йоу! Можешь еще с pandas заморочиться. Если любишь DataFrame и всё такое.

    Программный код:
    import pandas as pd

    df 
    pd.DataFrame([[123], [456], [789]])

    res df[df.apply(lambda rowrow.gt(5).any(), axis=1)]
    print(
    res.values.tolist()) 
    Жирноватый способ, но зато обертка красивая!
    С pandas-то это для бакенда прям нормас, только вот медленно наверно для больших массивов.

  9. Пацаны, просто еще как вариант, можно юзать обычные циклы. Может и не так круто как лямбды, зато наглядно и стабильно!

    Программный код:
    lista = [[123], [456], [789]]
    res = []

    for 
    subl in lista:
    if 
    any(for x in subl):
    res.append(subl)

    print(
    res
    На безрыбье и рак рыба, как говорится. ?

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

    Программный код:
    lista = [[123], [456], [789]]
    res = []

    for 
    subl in lista:
    if 
    any(for x in subl):
    res.append(subl)

    print(
    res
    На безрыбье и рак рыба, как говорится. ?
    Вот это олдскульный подход, бро. Надо такому тоже место давать. ?

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