[英]Remove empty elements from 2d array
For following table:对于下表:
table = [["David, О.А.", "12651@gmail.com", "12651@gmail.com"],
["Lincoln, С.Е.", "qwe@mail.ru", "qwe@mail.ru"],
[None, None, None],
["White, K.О.", "rak9@yahoo.com", "rak9@yahoo.com"],
["Pinkman, С.Е.", "mki@mail.ru", "mki@mail.ru"],
[None, None, None]]
I tried to remove empty elements with this:我试图用这个删除空元素:
table = filter(None, table)
But this doesn't effect at all and the table remains same.但这根本不起作用,表格保持不变。 How to get rid of empty elements to get the following output:如何摆脱空元素以获得以下输出:
------------- --------------- ---------------
David, О.А. 12651@gmail.com 12651@gmail.com
Lincoln, С.Е. qwe@mail.ru qwe@mail.ru
White, K.О. rak9@yahoo.com rak9@yahoo.com
Pinkman, С.Е. mki@mail.ru mki@mail.ru
------------- --------------- ---------------
In python
any non-empty list
is considered truthy so your filter
do not remove them, use any
built-in function to allow only lists which have at least 1 truthy element that is在python
中,任何非空list
都被认为是真实的,因此您的filter
不会删除它们,使用any
内置函数仅允许具有至少 1 个真实元素的列表
table = [["David, О.А.", "12651@gmail.com", "12651@gmail.com"],
["Lincoln, С.Е.", "qwe@mail.ru", "qwe@mail.ru"],
[None, None, None],
["White, K.О.", "rak9@yahoo.com", "rak9@yahoo.com"],
["Pinkman, С.Е.", "mki@mail.ru", "mki@mail.ru"],
[None, None, None]]
table = list(filter(any, table))
print(table)
output输出
[['David, О.А.', '12651@gmail.com', '12651@gmail.com'], ['Lincoln, С.Е.', 'qwe@mail.ru', 'qwe@mail.ru'], ['White, K.О.', 'rak9@yahoo.com', 'rak9@yahoo.com'], ['Pinkman, С.Е.', 'mki@mail.ru', 'mki@mail.ru']]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.