Alt*_*ons 11 python tuples list
我用这个把头撞到了墙上:
基本上我想要的是从这个元组列表中删除""项:
[('650', '724', '6354', '', '', ''), ('', '', '', '650', '723', '4539')]
Run Code Online (Sandbox Code Playgroud)
并获得以下新列表:
[('650', '724', '6354'), ('650', '723', '4539')]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Gre*_*ill 23
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')]
Run Code Online (Sandbox Code Playgroud)
这使用列表[... for x in a]推导来使用公式创建新列表....这使用生成器表达式y for y in x if y来创建一个新元组,其中x 只包含if y为true 的元素(意味着值是真实的,或者字符串是非空的).