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

Тема: Help with python list remove by indexes

  1. Help with python list remove by indexes

    Привет! Нужен совет по Python. Столкнулся с интересной проблемой — нужно удалить элементы из списка по индексам. Вот типа у меня есть список, как удалить из него элементы по нескольким индексам? И если можно, приведите примеры кода. Буду очень признателен за помощь! Thanks!



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

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

  3. Эй, привет! Вот пример кода для удаления элементов по нескольким индексам. Используем list comprehension.

    Программный код:
    def remove_by_indexes(lstindexes):
        return [
    item for iitem in enumerate(lst) if i not in indexes]
      
    my_list = [1020304050]
    indexes_to_remove = [024]
    new_list remove_by_indexes(my_listindexes_to_remove)
    print(
    new_list
    В этом примере мы убираем элементы с индексами 0, 2 и 4. Конечный список будет [20, 40]. Hope it helps!

  4. Цитата Сообщение от Козерог
    Эй, привет! Вот пример кода для удаления элементов по нескольким индексам. Используем list comprehension.

    Программный код:
    def remove_by_indexes(lstindexes):
        return [
    item for iitem in enumerate(lst) if i not in indexes]
      
    my_list = [1020304050]
    indexes_to_remove = [024]
    new_list remove_by_indexes(my_listindexes_to_remove)
    print(
    new_list
    В этом примере мы убираем элементы с индексами 0, 2 и 4. Конечный список будет [20, 40]. Hope it helps!
    Фига, это что за магия такая! Круто-круто, жалко что я безмозглый). Вопрос — а если индексы некорректные?

  5. А еще можно через numpy:

    Программный код:
    import numpy as np
      
    def remove_by_indexes
    (arrindexes):
        
    indexes_set set(indexes)
        return 
    np.array([for iv in enumerate(arr) if i not in indexes_set])
      
    my_array np.array([1020304050])
    indexes_to_remove = [13]
    new_array remove_by_indexes(my_arrayindexes_to_remove)
    print(list(
    new_array)) 
    Ну, это если ты с numpy любишь повозиться!

  6. Цитата Сообщение от Electro
    А еще можно через numpy:

    Программный код:
    import numpy as np
      
    def remove_by_indexes
    (arrindexes):
        
    indexes_set set(indexes)
        return 
    np.array([for iv in enumerate(arr) if i not in indexes_set])
      
    my_array np.array([1020304050])
    indexes_to_remove = [13]
    new_array remove_by_indexes(my_arrayindexes_to_remove)
    print(list(
    new_array)) 
    Ну, это если ты с numpy любишь повозиться!
    О, numpy шустряк. Слушай, а его надо отдельно ставить или само подтянется с питоном?

  7. Йо, вообще можно еще вручную:

    Программный код:
    my_list = [1020304050]
    indexes_to_remove = [13]
      
    for 
    index in sorted(indexes_to_removereverse=True):
        if 
    <= index len(my_list):
            
    my_list.pop(index)
      
    print(
    my_list
    Главное, не забудь сортировать и убирать с конца, чтобы индексы не напутать!

  8. Цитата Сообщение от Защитник
    Йо, вообще можно еще вручную:

    Программный код:
    my_list = [1020304050]
    indexes_to_remove = [13]
      
    for 
    index in sorted(indexes_to_removereverse=True):
        if 
    <= index len(my_list):
            
    my_list.pop(index)
      
    print(
    my_list
    Главное, не забудь сортировать и убирать с конца, чтобы индексы не напутать!
    Слушай, это прям по-настоящему! Тупил, но быстро понял фишку с сортировкой в обратном порядке. Так норм.

  9. Hey dude! Если скорость не важна, можно использовать filter и lambda:

    Программный код:
    my_list = [1020304050]
    indexes_to_remove = [04]
      
    filtered_list = list(filter(lambda xmy_list.index(xnot in indexes_to_removemy_list))
    print(
    filtered_list
    Такой вот первый класс от ленивого камрада.

  10. Цитата Сообщение от Крокодил
    Hey dude! Если скорость не важна, можно использовать filter и lambda:

    Программный код:
    my_list = [1020304050]
    indexes_to_remove = [04]
      
    filtered_list = list(filter(lambda xmy_list.index(xnot in indexes_to_removemy_list))
    print(
    filtered_list
    Такой вот первый класс от ленивого камрада.
    Фильтры, лямбды, ух, красава! Наверное в плане скорости не огонь, зато прикольно, учту. Пульни еще пару идей, если че?

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