如何重写以下内容?
positive_crawls = [{'url': page['url'], 'hour': hour-1, 'updated': True}
for page in crawl_json
for hour in page['positive checks']]
答案 0 :(得分:1)
如果您是说如何使用循环来重写该理解,则是这样的:
positive_crawls = []
for page in crawl_json:
for hour in page['positive checks']:
positive_crawls.append({'url': page['url'], 'hour': hour-1, 'updated': True})
但是,请记住,您的理解很可能比使用这两个for循环要快。
答案 1 :(得分:0)
正如其他人所说,在没有重写目标的情况下,仍有很大的解释空间。
这里是一个
from dataclasses import dataclass
@dataclass
class Crawl:
url: str
hour: int
updated: bool = True
def get_crawls(crawl_json):
for page in crawl_json:
for hour in page['positive checks']:
yield Crawl(page['url'], hour - 1).asdict()
positive_crawls = list(get_crawls(crawl_json))