【发布时间】:2019-11-07 14:23:50
【问题描述】:
在 python 中有一个练习可以从元组列表中删除一个空元组。
输入:
input: [(), (), ('',), ('a', 'b'), ('a', 'b', 'c'), ('d')]
预期输出
output: [('',), ('a', 'b'), ('a', 'b', 'c'), 'd']
这是他们提供的解决方案。
L = [(), (), ('',), ('a', 'b'), ('a', 'b', 'c'), ('d')]
L = [t for t in L if t]
print(L)
但我无法理解条件L = [t for t in L if t]。谁能帮我解决这个问题?
【问题讨论】:
-
你不明白什么?列表理解?
if? -
如果您执行
bool(())或bool(''),您将看到空列表和字符串返回False。所以命令if t如果返回True,则基本上返回t。 -
欢迎来到 SO。这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。花一些时间与the Tutorial 练习示例。
-
@wwii 你能链接到特定的 SO 文档,阻止用户询问他们不理解的特定代码行吗?
-
@CorentinPane - 我认为没有任何具体的禁令,但如果您阅读我链接到的页面上所有链接的全部内容,您就会有所了解。在 Meta 上搜索会让您了解社区的想法——尽管您可能会在那里发现相互矛盾的信息。这是一个开始 - 阅读与“How does this code works” questions (duplicate) 类似的短语相关的所有内容并进行其他搜索。顺便说一句,这不是我的 DV。