【发布时间】:2021-01-27 05:54:42
【问题描述】:
我有一个元组列表,其中又包含 2 个元素和一个列表。我希望删除具有空列表的元组。
l = [('Receipt total', []), ('Total Amount (AED)', []), ('Grand total', []), ('Net Amount', []), ('Total Amount', ['593.52']), ('Net total ', []), ('Total', []), ('Gross Amount', []), ('Total Bill (AED)', []), ('Total AED', []), ('Net total in AED', []), ('Total (AED)', []), ('Total Invoice Amount', []), ('Invoice total', []), ('Amount Due', []), ('Grand Total (AED)', []), ('Total Amount Payable', []), ('Net Amt', []), ('Before Total', [('28.26\n', '28.26\n')]
预期输出:
l = [('Total Amount', ['593.52']), ('Before Total', [('28.26\n', '28.26\n')]
我试过了:
l = [t for t in i if t != [] for i in l]
它给我一个Memory Error
【问题讨论】:
-
元组是不可变的;您将不得不创建过滤副本! (标题具有误导性!)
-
[t for t in l if t[1]] -
@anurag 我不明白为什么要改变元组。
-
@anurag 永远不要相信兔子和标题!
标签: python python-3.x list tuples