python - for循环中'for'前面的字母代表什么?
问题描述
在代码中:
def myfunc(*args):
return [ n for n in args if n%2 == 0]
我一直认为n
意思是“任何东西”,所以我们为什么不能拥有 [for 'anything' in args if 'anything' % 2 == 0 ]
例如[for n in args if n%2 ==0]
为什么我们需要在n
之前for
?我应该如何看待这一点,为什么有时只在 for 循环中需要它?
解决方案
不知道您所说的“我总是认为n
意思是'任何东西'”是什么意思。您正在查看的是列表理解,而不是 for 循环。它们有不同的语法。你必须像这样在心理上解析它:
- 对于我收藏中的每个项目,当前项目将被称为
n
(for n in args
) - 添加
n
到我正在生成的列表中...(您感到困惑的步骤) - ...仅当某些条件为真时(
n%2 == 0
。此过滤是可选的)
例如,看看这个列表理解:
>>> [thing * 2 for thing in (1, 2, 3, 4)]
[2, 4, 6, 8]
>>>
- 对于我收藏中的每个项目,当前项目将被称为
thing
(for thing in (1, 2, 3, 4)
) - 添加
thing * 2
到我正在生成的列表中
推荐阅读
- javascript - 如何在我的 HTML 表格中提供动态 col-span
- python - 在 Python 3 中使用 BeautifulSoup 抓取 URL
- html - Angular CDK 表:元素“td”不能嵌套在元素“表”内
- python - 在 keras 中使用批量标准化进行微调
- python - Django 自定义用户模型:用户创建问题
- google-chrome-extension - Google 日历页面上未触发 Chrome 扩展程序(
在 manifest.json 中) - sql-server - 加密列上的模式匹配
- database - 如何在 $lookup 管道中使用 $text 搜索
- ios - 如何在每个月的第 17 天发送相同的通知并针对特定月份进行自定义
- laravel - 护照Laravel的UUID问题