2014-10-30 72 views
1

如何在不使用.remove的情況下刪除列表中的值?

x = 1 

list = [1,2,3] 

我想引用其值x,而不是索引刪除列表中的1 - 不使用list.remove(X)。這怎麼可能?

+0

這有什麼錯刪除? – 2014-10-30 03:35:23

+0

什麼都沒有,我只是想知道是否有另一種方式在Python中來實現這一點。 – 2014-10-30 03:36:28

+3

您正在使用的Python。不必重新發明輪子。 – ghostdog74 2014-10-30 03:38:09

回答

1

的確,有很多方法可以做到這一點。

x = 5 
my_list = [1, 2, 3, 5, 6, 9, 4] 

del my_list[my_list.index(x)] 

my_list.pop(my_list.index(x)) 
+0

但是,如果我不知道x的索引,只是值? – 2014-10-30 03:38:59

+0

但是這段代碼完全是這樣!您可以將x更改爲您想要的任何值。 – 2014-10-30 03:40:46

+0

哦!對不起,我是Python新手,我花了我一秒鐘才完全理解你的代碼。謝謝! – 2014-10-30 03:47:42

0
list = [1,2,3] 
list = [i for i in list if i is not 1] 
+0

OP說:「我想通過引用x的值去除列表中的1」,所以它看起來代碼應該使用'x' – Paul 2014-10-30 07:35:46

1
x = 1 
list = [1,2,3] 
list = [i for i in list if i != x] 
相關問題