2016-03-07 149 views
-2

我正在處理一些有整數列表的代碼,例如list1 = [1,2,3,4,5],我想打印出1 3 4 5,所以只需打印出一個「new列表「沒有第二個元素。刪除列表中的第二個元素

+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

你可以做一個簡單的彈出操作,它是Python中的空格。

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

它將導致[1,3,4,5]將被存儲在列表1

相關問題