Python中关于列表推导式

列表推导式里的all函数为什么在对象不是iterable的情况下也能推导呢?

all(...)

all(iterable) -> bool

Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True
if post_tags_blacklist != r'' and post_tags_blacklist != None:
    self._task_pool = [
        task
        for task in self._task_pool
            if all(tag['name'] not in post_tags_blacklist.split() 
                            for tag in task['tags'])
    ]

或者说在列表推导式里for只是表达式,会构建一个iterable对象以后再执行么?
图片描述

阅读 2.3k
1 个回答
>>> import collections
>>> isinstance((y for y in range(1, 100)), collections.Iterable)
True
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题