簡體   English   中英

如何從列表中刪除元組

[英]How to remove a tuple from the list

這是我的元組列表:

[('Abbott', 'Texas'), ('Abernathy', 'Texas'), ('Abilene', 'Texas'), ('Ace', 'Texas'), ('Ackerly', 'Texas'), ('Alba', 'Texas'),('Addison', 'Texas'), ('Adkins', 'Texas'), ('Adrian', 'Texas'), ('Afton', 'Texas'), ('Agua Dulce', 'Texas'), ('Aiken', 'Texas'), ('Alamo', 'Texas'), ('Alanreed', 'Texas'), ('Albany', 'Texas')]

從上面的元組列表中我想刪除('Alba', 'Texas')

我嘗試了很多方法,但它沒有給我預期的結果。

我試過了

[x for x in listobj if any(y is not Alba for y in x)] 
list_of_tuples.remove(('Alba', 'Texas'))

或者

list_of_tuples.pop(list_of_tuples.index(('Alba', 'Texas')))

使用 Python 的列表推導應該很適合你。

foo = [('Abbott', 'Texas'), ('Abernathy', 'Texas'), ('Abilene', 'Texas'), ('Ace', 'Texas'), ('Ackerly', 'Texas'), ('Alba', 'Texas'),('Addison', 'Texas'), ('Adkins', 'Texas'), ('Adrian', 'Texas'), ('Afton', 'Texas'), ('Agua Dulce', 'Texas'), ('Aiken', 'Texas'), ('Alamo', 'Texas'), ('Alanreed', 'Texas'), ('Albany', 'Texas')]
foo = [x for x in foo if x!= ("Alba", "Texas")]

您可以按值刪除它:

your_list.remove(('Alba', 'Texas'))

但請記住,它不會刪除所有出現的元素。 如果要刪除所有事件:

your_list = [x for x in your_list if x != 2] 

無論如何,這個問題已經回答了很多次,並且很容易找到 - 在 Python 中按值刪除列表元素

如果你想通過它的第一個元素刪除一個元組:

tup = [('hi', 'bye'), ('one', 'two')]
tup_dict = dict(tup) # {'hi': 'bye', 'one': 'two'}
tup_dict.pop('hi')
tup = list(tuple(tup_dict.items()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM