Предположим, у меня есть список A = [None, None, None, None, None, None, 1, 2, 3, 4]
. На данный момент размер списка равен 10. Теперь я хочу удалить определенный элемент, скажем 1
, но в то же время я хочу, чтобы 1
был заменен на None
и размер списка сохранен. Удаление 1
не должны изменять размер списка до 9.Удалить элементы в списке и сохранить размер списка в Python?
ответ
Если вы хотите удалить только первый элемент, вы можете сделать это
A[A.index(1)] = None
Но, если вы хотите заменить все 1
с в список, вы можете использовать этот список comprehenesion
A = [None if item == 1 else item for item in A]
Если вы хотите сделать INPLACE замены, вы можете сделать это следующим образом (благодаря @Jonas)
A[:] = [None if item == 1 else item for item in A]
Вы можете написать общие функции, как этого
A, B = [None,None, None, None, None, None, 1, 1, 3, 4], [1, 1, 1]
def replace(input_list, element, replacement):
try:
input_list[input_list.index(element)] = None
except ValueError, e:
pass
return input_list
def replace_all(input_list, element, replacement):
input_list[:] = [replacement if item == element else item for item in input_list]
return input_list
print replace(A, 1, None)
print replace_all(B, 1, None)
Выход
[None, None, None, None, None, None, None, 1, 3, 4]
[None, None, None]
Обратите внимание, что второй оператор не * на месте *, в отличие от первого (и обычного '' del'' оператора, который не применяется к этому вопросу). Чтобы сделать второй оператор * на месте *, вы должны изменить левую сторону на '' A [:] '' (просто sayin ', может вызвать путаницу). –
@JonasWielicki Спасибо мужчине :) Обновлен мой ответ. – thefourtheye
Замена на место стоит дополнительных ресурсов только тогда, когда список ** A ** ссылается на другие объекты – volcano
Если вы знаете только значение, это заменит первого появление на:
A[A.index(1)] = None
Если вы знаете индекс:
A[6] = None
- 1. Python- удалить элементы списка
- 2. Удалить элементы списка в другом списке
- 3. Удалить элементы в списке
- 4. Python: Удалить элементы в списке списка по индексу
- 5. Удалить соответствующие элементы в списке
- 6. объединить некоторые элементы списка в списке Python
- 7. Элементы списка в списке
- 8. Python: объединить элементы в списке
- 9. удалить элементы из списка в python
- 10. удалить() удалить из списка все элементы в списке
- 11. Python - Удалить иерархию списка в списке?
- 12. Удалить определенные элементы из списка в python
- 13. Python удалить элементы из списка
- 14. Как удалить элементы из списка в Python
- 15. заменить пустые элементы в списке списка
- 16. Python 2.7: Удалить элементы из многомерного списка
- 17. Удалить почти дублированные элементы в списке Python при сохранении переменных
- 18. Удалить все элементы в списке Python, содержащем число
- 19. удалить элементы в связанном списке
- 20. Java - удалить элементы в списке
- 21. Удалить дублированные элементы в списке
- 22. Python: условно удалить элементы из списка
- 23. Сплит элементы списка в Python
- 24. Как выбрать конкретные элементы из списка с помощью python и сохранить в новом списке
- 25. Удалить элементы из списка
- 26. Удалить элементы из списка
- 27. Python удалить элемент в списке
- 28. Python, удалить все вхождения строки в списке
- 29. Получение «вызова» размер списка в списке закрытия
- 30. Как искать элементы в списке в python
Просто .. присвойте указателю желаемое значение. – user2864740