[英]Remove element from tuple in a list
我用这个把头撞到了墙上:
基本上我想要的是从这个元组列表中删除“”项:
[('650', '724', '6354', '', '', ''), ('', '', '', '650', '723', '4539')]
并获得以下新列表:
[('650', '724', '6354'), ('650', '723', '4539')]
有任何想法吗?
Python中的元组是不可变的 。 这意味着一旦创建了元组,就无法更改其中包含的元素。 但是,您可以创建一个新的元组不包含你不想要的物品。 例如:
>>> a = [('650', '724', '6354', '', '', ''), ('', '', '', '650', '723', '4539')]
>>> [tuple(y for y in x if y) for x in a]
[('650', '724', '6354'), ('650', '723', '4539')]
这使用列表理解[... for x in a]
来使用...
的公式创建新列表。 使用的发电机表达式y for y in x if y
创建包含的元素的新的元组x
仅当y
为真(意味着值为truthy或字符串是一个非空)。
a = [('650', '724', '6354', '', '', ''), ('', '', '', '650', '723', '4539')]
print [tuple(x for x in y if x) for y in a]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.