Найти - Пользователи
Полная версия: Вырезать элементы из списка.
Начало » Python для новичков » Вырезать элементы из списка.
1
in
Мне необходимо вытащить из списка несколько первых элементов.

Можно просто пользоваться таким кодом:

 elems = someList[0:index] 
Но мне необходимо чтобы эти элементы из списка тут же удалялись. Есть ли какой-то метод для этого, типа splice или необходимо вырезать отдельно теперь?

Вот это вроде бы работает, это нормальный код?

 l = somelist[0, index]
 somelist[0, index] = []
 return l


py.user.next
>>> lst = [1, 2, 3, 4]
>>> lst[:2] = ()
>>> lst
[3, 4]
>>>
in
Спасибо, мне нужно одновременно и вернуть вырезанные элементы и модифицировать список, я думал может есть нативный метод какой-нибудь
py.user.next
in
мне нужно одновременно и вернуть вырезанные элементы и модифицировать список
>>> lst = [1, 2, 3, 4]
>>> x = lst[:2]
>>> lst = lst[2:]
>>> x
[1, 2]
>>> lst
[3, 4]
>>>

Это можно и в одну строку записать, но оно там может глючить, если срезы пересекаются. Так что лучше на отдельных.
Isem
Для удаления есть оператор del:
del someList[3:8] # удаляем из списка 5 элементов, начиная с 3го
А до этого можем их скопировать во вновь созданный список:
new_sublist = someList[3:8]
vanvanov
in
Мне необходимо вытащить из списка несколько первых элементов.
in
Но мне необходимо чтобы эти элементы из списка тут же удалялись.
Почитайте про list.pop. Если элементы расположены последовательно, то, как указали выше, сработает
>>> lst=[1,2,3,4,5,6,7]
>>> lst[:3]
[1, 2, 3]
>>> lst[3:]
[4, 5, 6, 7]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB