[英]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.