小编Mis*_*iev的帖子

Python中yield表达式的结果是什么?

我知道yield将函数转换为生成器,但yield表达式本身的返回值是多少?例如:

def whizbang(): 
    for i in range(10): 
        x = yield i
Run Code Online (Sandbox Code Playgroud)

x这个函数执行时变量的值是多少?

我已经阅读了Python文档:http://docs.python.org/reference/simple_stmts.html#grammar-token-yield_stmt,似乎没有提到yield表达式本身的值.

python yield generator

55
推荐指数
1
解决办法
2万
查看次数

内部"yield"的列表理解与生成器理解的区别

列表理解与yield内部生成器理解有什么区别?两者都返回一个生成器对象(listcompgenexpr分别),但在完全评估后,后者添加了似乎相当多余None的东西.

>>> list([(yield from a) for a in zip("abcde", itertools.cycle("12"))])
['a', '1', 'b', '2', 'c', '1', 'd', '2', 'e', '1']

>>> list(((yield from a) for a in zip("abcde", itertools.cycle("12"))))
['a', '1', None, 'b', '2', None, 'c', '1', None, 'd', '2', None, 'e', '1', None]
Run Code Online (Sandbox Code Playgroud)

怎么会?什么是科学解释?

python list-comprehension python-3.x

11
推荐指数
1
解决办法
617
查看次数

Python库模块应该以#!/ usr/bin/env python开头吗?

Python库模块应该以#!/usr/bin/envpython 开头吗?

查看*.pyin的第一行/usr/share/pyshared(其中Python库存储在Debian中)显示存在以hashbang行开头的文件和不使用hashbang行的文件.

是否有理由包含或省略此行?

python coding-style shebang

8
推荐指数
2
解决办法
850
查看次数

如何通过别名_id请求单个文档?

是否可以通过查询别名来通过其id请求单个文档,前提是别名中所有索引的所有键都是唯一的(它是外部保证)?

elasticsearch

8
推荐指数
3
解决办法
8557
查看次数

将元素插入std :: map而无需额外复制

考虑这个程序:

#include <map>
#include <string>
#define log magic_log_function // Please don't mind this.

//
// ADVENTURES OF PROGO THE C++ PROGRAM
//

class element;
typedef std::map<int, element> map_t;

class element {
public:
    element(const std::string&);
    element(const element&);
    ~element();
    std::string name;
};
element::element(const std::string& arg)
    : name(arg)
{
    log("element ", arg, " constucted, ", this);
}
element::element(const element& other)
    : name(other.name)
{
    name += "-copy";
    log("element ", name, " copied, ", this);
}
element::~element()
{
    log("element ", name, " destructed, ", this); …
Run Code Online (Sandbox Code Playgroud)

c++ optimization stdmap c++-standard-library

6
推荐指数
2
解决办法
1万
查看次数

CPython 交互式阅读线——更好地向后删除单词

是否可以更改readlineCPython 2.7 或 3.3 中的字边界?

我想要backward-kill-word(绑定到舒适C-w)并且具有与andbackward-word完全相同的单词边界。目前,无论语法、点等,都会擦除一半的行,并且为了更合理的向后删除而延伸太麻烦了。我现在也不想使用 IPython。forward-wordforward-kill-wordC-wM-DEL

只需重新配置C-w即可M-DEL很好(将其设置为backward-kill-word不会执行任何操作,因为M-DEL函数可能被称为其他名称。)

更新:它变得更奇怪了!

>>> import readline
>>> readline.parse_and_bind('"C-k": backward-kill-word')
(press up, press C-k a lot, witness it working)
>>> readline.parse_and_bind('"\\C-w": backward-kill-word')
(press up, press C-w, and see that its function did not change, it wasn't re-bound!)
Run Code Online (Sandbox Code Playgroud)

python configuration readline

5
推荐指数
1
解决办法
117
查看次数

当 _source 被禁用时到底会丢失什么?

_source在 Elasticsearch 映射中禁用该字段的确切后果是什么?

\n\n

关于该领域本身的令人惊讶的简短文档_source仅指出:

\n\n
\n

尽管使用起来非常方便,但源字段确实会在索引内产生存储开销。因此,可以将其禁用。

\n
\n\n

没有解释当它被禁用时到底什么变成了 \xc2\xabless Handy\xc2\xbb 。让我们点击get api的链接:

\n\n
\n

默认情况下,get 操作返回 _source 字段的内容,除非您使用了 fields 参数或者 _source 字段被禁用。

\n
\n\n

_source再说一次,禁用时,“doing”有何不同?文档本身是否完全不可用(仅留下聚合)?系统是否会退回到从各个字段重新组装文档的昂贵过程?

\n\n

这实在是太令人费解了。网络上许多致力于优化 Elasticsearch 性能的文档都建议禁用_source\xc2\xab(如果您不需要它\xc2\xbb)。我怎么知道我需要它?

\n

elasticsearch

5
推荐指数
1
解决办法
3997
查看次数

Emacs:默认目录(交互式"f")

我正在编写一个简单的hacky解决方案,在DesktopAid之上切换«projects»(缓冲区和框架组(X窗口)).我做了一个编写项目文件的程序:

(defun project-save-as (project-filename)
  "Save the current session to a new project session file."
  (interactive "FProject file to write: ")
  (copy-file project-default project-filename t)
  ; New project is the new current project.
  (write-cur-project-file project-filename)
  (set-variable 'cur-project-filename project-filename)
  (copy-file cur-project-filename project-default t)
 )
Run Code Online (Sandbox Code Playgroud)

但每次导航到包含项目文件的目录都很烦人.有没有办法在(interactive)不改变全局变量的情况下设置默认目录?

更新:这是我的(有点傻)代码,如果有人有兴趣→ http://paste.lisp.org/display/129116

emacs elisp

3
推荐指数
1
解决办法
328
查看次数

线程构建模块parallel_bounded_queue —如何“关闭”它?

我正在使用concurrent_bounded_queueIntel TBB 4.1 Update 3在生产者线程和使用者线程之间进行通信:

队列类有一个叫做方法abort,其抛出tbb::user_abort到上阻塞所有线程poppush队列实例的。两个线程之间的通信可能如下所示:

ConsThread | ProdThread
-----------+-------------
q.pop      |  get new data
(wait)     |  q.push
process    |  get new data
q.pop      |  no more data!
(wait)     |  q.abort
quit       |  quit
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使在这个简单的示例中,我也不能使用它来可靠地关闭队列,因为如果某些使用者pop在调用之前没有完成对先前ped数据的处理abort,他们将完成迭代并返回阻塞pop

ConsThread | ProdThread
-----------+-------------
q.pop      |  get new data
(wait)     |  q.push
process    |  get new data
process    |  no more data!
process    |  q.abort
process    | …
Run Code Online (Sandbox Code Playgroud)

queue multithreading tbb

3
推荐指数
1
解决办法
688
查看次数

query_string和range同时出现

怎么可能同时拥有query_stringrange在相同的查询?

我发送给/myindex/mytype/_search/?search_type=count:

 {"query": {"query_string": {"query": "field1:value1"},
            "range": {"time": {"gt": "2014-11-01T00:00:00Z",
                               "lte": "2014-11-01T03:00:00Z"}}},
  "aggs": {"counts": {"date_histogram": {"field": "time",
                                         "interval": "minute"}}}}
Run Code Online (Sandbox Code Playgroud)

但ES给了我这个错误:

ElasticsearchParseException[Expected field name but got START_OBJECT \"range\"];
Run Code Online (Sandbox Code Playgroud)

如果我删除range或者query_string,它工作得很好,但没有太多需要的过滤:)

rest elasticsearch

3
推荐指数
2
解决办法
2502
查看次数

ElasticSearch/Lucene查询字符串 - 选择"字段X存在"

如何通过Kibana查询ElasticSearch以选择具有字段X的项目?

例如,我有一个带字段的映射{"a": {"type": "string"}, "b": {"type": "string"}}和两个文档

{"a": "lalala"}
{"a": "enoheo", "b": "nthtnhnt"}
Run Code Online (Sandbox Code Playgroud)

我想在不知道它b实际是什么的情况下找到第二个文档.

lucene elasticsearch kibana

1
推荐指数
2
解决办法
3751
查看次数

按字段值分组文档

注意,这不是“如何获取不同值的计数”问题。我需要文档,而不是计数。

假设我有此映射:

country, color, height, weight
Run Code Online (Sandbox Code Playgroud)

我已将这些文件编入索引:

1. RU, red, 180, 90
2. BY, green, 170, 80
3. BY, blue, 180, 75
4. KZ, blue, 180, 95
5. KZ, red, 185, 100
6. KZ, red, 175, 80
7. KZ, red, 170, 80
Run Code Online (Sandbox Code Playgroud)

我想执行类似的查询groupby(country, color, doc_limit=2),该查询将返回以下内容:

{
  "RU": {
    "red": [
      (doc 1. RU, red, 180, 90)
    ],
  },
  "BY": {
    "green": [
      (doc 2)
    ],
    "blue": [
      (doc 3)
    ]
  },
  "KZ": {
    "blue": [
      (doc 4) …
Run Code Online (Sandbox Code Playgroud)

group-by elasticsearch

1
推荐指数
1
解决办法
2294
查看次数