比方说,我们有变量中的对象列表称为"文章",每个对象都有一个成员"标签"(这是简单列表).
预期输出:所有文章中的所有标记,加在一个列表中.
在多行中,解决方案将是:
arr = []
for article in articles:
for tag in article.tags:
arr.append(tag)
Run Code Online (Sandbox Code Playgroud)
现在,我们如何用单行而不是4来写这个?
此语法无效:
arr = [tag for tag in article.tags for article in articles]
Run Code Online (Sandbox Code Playgroud)
谢谢!
Ign*_*ams 10
它是无效的,因为article在解析第一个循环时不存在.
arr = [tag for article in articles for tag in article.tags]
Run Code Online (Sandbox Code Playgroud)
您实际上是按照您不想订购的顺序循环:
你想要的是:
result = [ tag for article in articles for tag in article.tags ]
Run Code Online (Sandbox Code Playgroud)
翻译您在示例中所做的事情将是:
for tag in article.tags:
for article in articles:
#code
Run Code Online (Sandbox Code Playgroud)
这没有多大意义.
| 归档时间: |
|
| 查看次数: |
4712 次 |
| 最近记录: |