我用这个把头撞在墙上:
基本上我想要的是从这个元组列表中删除“”项:
[('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
only if y< 元素的新元组
为真(表示值为真,或者字符串为非空)。
关于python - 从列表中的元组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694739/