lst = [(32,(4,5)),(55,(5,6))]
給定一個元組(4,5),所以我想刪除lst中的第一個元組。怎麼做?Python內置列表:刪除一個項目
對不起,這是不明確的,我的意思是第二個項目中的每個列表項中刪除列表項
lst = [(32,(4,5)),(55,(5,6))]
給定一個元組(4,5),所以我想刪除lst中的第一個元組。怎麼做?Python內置列表:刪除一個項目
對不起,這是不明確的,我的意思是第二個項目中的每個列表項中刪除列表項
lst2 = [(x, y) for (x, y) in lst if y != (4, 5)]
刪除所有(4,5)元組,而不僅僅是第一個實例。
你可以過濾列表:
lst = filter(lambda x, y: y != (4,5), lst)
你的意思lst2 = [(a,) for (a,b) in lst]' ?
[(32),(55)]`
That will result in
這將刪除第一個列表條目,其第二部分比賽,但不使用這種去除不止一個。要做多個使用list comp的其他人建議或迭代列表的副本(對於eaxmple:for n in L[:]
)。修改正在迭代的列表會產生意外的結果。
>>> def remove(L,t):
... for n in L:
... if n[1]==t:
... L.remove(n)
... break
...
>>> L=[(1,(2,3)),(4,(5,6)),(7,(2,3))]
>>> remove(L,(2,3))
>>> L
[(4, (5, 6)), (7, (2, 3))]
如果(5,6)得到了如何? – user469652 2011-01-10 06:01:47