2016-03-07 4 views
-2

Я работал над некоторым кодом, который имеет список целых чисел, таких как list1 = [1,2,3,4,5], я хочу распечатать 1 3 4 5, поэтому просто распечатайте «новый» список "без второго элемента.Удаление второго элемента списка

+0

deans7 пожалуйста [принять] (http://meta.stackexchange.com/a/5235) любой из ответьте, если это поможет вам решить вашу проблему. – Idos

ответ

0

Вы можете просто использовать индексы правильно с slicing (я предполагаю, что вы хотите сохранить первоначальный список нетронутым):

>>> list1[0:1] + list1[2:] 
[1, 3, 4, 5] 

Таким образом, в общем, чтобы пропустить i элемент (когда 0 включен):

>>> list1[0:i] + list1[i+1:] 
0

Более масштабируемое решение - это обеспечить расположение индекса исходного списка, который вы хотите исключить. Затем enumerate над этим списком и исключить значения в соответствующем месте индекса.

list1 = [1, 2, 3, 4, 5] 
excluded_index = [1] 
new_list = [i for n, i in enumerate(list1) if n not in excluded_index] 
>>> new_list 
[1, 3, 4, 5] 

excluded_index = [1, 3] 
>>> [i for n, i in enumerate(list1) if n not in excluded_index] 
[1, 3, 5] 
0

Используйте дель и указать элемент, который вы хотите удалить с индексом:

del [index]

del list1[1]; напечатает 1 3 4 5

** Примечание: del, удаляет элемент из списка, поэтому будьте осторожны, если вы считаете, что вам нужен ваш список неповрежденным для будущего использования.

0

Извлечение второго элемента может быть выполнено с помощью массива. Затем используйте метод строки соединения.

removed = list1[0:1] + list1[2:] 
print(' '.join([str(x) for x in removed])) 
0

Вы можете выполнить простую операцию pop, которая является inbulit в python.

>>list1.pop(1) 
>>[1, 3, 4, 5] 

это приведет [1, 3, 4, 5], которые будут сохранены в list1

Смежные вопросы