Python:奇怪的集合理解:局部适用?隐含的?

时间:2015-11-25 11:18:58

标签: python list-comprehension

考虑来自concurrent.futures示例(https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example)的行:

future_to_url = {executor.submit(load_url, url, 60): url for url in URLS}

不知道她的 executor.submit(load_url,url,60):url 究竟发生了什么。显然,它是设置理解, executor.submit 应用于 URLS 中的每个网址。但是用什么技术来修复 load_url 60 参数?这是使用列运算符的某种curriyng或部分应用,但它是什么语言特性?

2 个答案:

答案 0 :(得分:1)

  

显然,这是理解

不,这是一个词典理解。冒号前面的表达式是每个新键,后面的表达式是相应的值。

答案 1 :(得分:1)

load_url是上面定义的方法(load_url(url, timeout))。

我想executor.submit(load_url,url,60)会在load_url(url,60)点调用executor.submit。 所以60是超时(可能因为60s = 1mn)。

词典理解将load_url应用于具有相同两个参数60url的每个网址,以及一个更改参数$this->get('logger')->info('messsage');