小编Dav*_*ked的帖子

在纳米编辑器中跳转到第X行

Nano最小文本编辑器是否具有跳转到指定行的键盘快捷键功能?

Vim提供了几种类似物.

nano

72
推荐指数
5
解决办法
7万
查看次数

如何使用列表推导删除列表中的相邻重复元素?

有没有办法在python中使用列表推导来过滤列表中的相邻重复项?

这是我的意思的一个例子:

>>> xs = [1,2,2,3]
>>> print added.reAdj(xs)
[1,2,3]
Run Code Online (Sandbox Code Playgroud)

通过SE进行的搜索揭示了早先的一个问题,询问了一个类似但略有不同的问题:是否可以从列表中删除所有重复项,而不是明确要求涉及列表推导的解决方案.使用列表推导的动机特别在于认识到它们优于传统for循环的优点.用户建议使用set()函数或标准循环:

result = []
most_recent_elem = None
for e in xs:
    if e != most_recent_elem:
        result.append(e)
        most_recent_elem = e
Run Code Online (Sandbox Code Playgroud)

set()建议无法满足任务,因为删除了非相邻重复项,而循环有效但冗长.

这似乎是一种安全地引用列表推导中的下一个元素的方法,如下所示.

[x for x in xs if x != **x.next()**]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python list-comprehension list

20
推荐指数
3
解决办法
4019
查看次数

为什么朱莉娅不鼓励对UTF8字符串进行索引?

Julia的入门指南,Y Minutes中的Learn Julia,不鼓励用户索引UTF8字符串:

# Some strings can be indexed like an array of characters
"This is a string"[1] # => 'T' # Julia indexes from 1
# However, this is will not work well for UTF8 strings,
# so iterating over strings is recommended (map, for loops, etc).
Run Code Online (Sandbox Code Playgroud)

为什么不鼓励迭代这些字符串呢?具体关于这种备用字符串类型的结构会使索引错误?这是Julia特定的陷阱,还是扩展到所有支持UTF8字符串的语言?

string utf-8 julia

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

Prolog:代码生成

从 prolog 程序输出 prolog 代码的最惯用的方法是什么(作为副作用)?

例如,在一个简单的情况下,我可能想编写一个程序,在给定文本输入的情况下,生成另一个将文本表示为有向图的 Prolog 程序。

我知道这个问题有些模糊,但在现有的 Prolog 元编程文献(主要涵盖元循环解释器的应用)中未能找到令人满意的答案后,我已经不再咨询 Stackoverflow。

如果您认为这个问题可以通过其他方式更好地表达,请编辑或发表评论。

code-generation metaprogramming prolog

5
推荐指数
2
解决办法
1093
查看次数

从python代码内部调用pytest

我正在编写一个Python脚本,用于从不同条件下运行的测试中收集数据。目前,我有兴趣添加对Py.Test的支持。

Py.Test文档明确指出支持在Python代码中运行pytest:

您可以直接从Python代码调用pytest ...就像从命令行调用“ pytest”一样...

但是,文档没有详细描述pytest.main()所规定的呼叫返回值。该文档似乎仅指示如何读取调用测试的退出代码。

通过此接口可以使用的数据分辨率有哪些限制?此方法是否仅返回指示测试结果的字符串?是否支持支持更友好的数据结构(例如,将每个测试用例的结果分配给键,值对)?

更新:检查REPL中的返回数据结构可以发现,调用pytest.mainyeld可以指示系统退出代码的整数返回类型,并将副作用(文本详细测试结果流)定向到标准输出。考虑到这种情况, Py.Test是否提供了备用接口,用于通过某些本机数据结构(例如字典)访问从python代码内部运行的测试结果?我想避免捕获和解析std.out结果,因为这种方法似乎容易出错。

python pytest

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

拉特?Scheme中的原始函数?

假设l定义如下:

> (define l (list 1 2 3))
Run Code Online (Sandbox Code Playgroud)

l现在绑定到原子列表.

Little Schemer引入了一个名为lat的简单函数?它根据参数的分类作为原子列表来计算#t或#f.例如,

> (lat? l)
Run Code Online (Sandbox Code Playgroud)

应该评估为#t,因为l是三个原子的列表.

但是,我的方案解释器(repl.it)在被要求调用lat时会抛出错误?

> (lat? l)
Error: execute: unbound symbol: "lat" []
Run Code Online (Sandbox Code Playgroud)

假设lat我错了吗?Scheme是原始的吗?

另外,请原谅重新发布的情况.

scheme the-little-schemer

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

OCaml 的 utop:导入外部模块

我有兴趣将Angstrom(一个解析组合器库)引入到我的项目中。

我将 Angstrom 安装到我的系统中,opam如下所示:

$> opam install angstrom
Run Code Online (Sandbox Code Playgroud)

我还使用以下命令成功地参考相关模块编译了该项目ocamlfind

$> ocamlbuild -use-ocamlfind -pkgs 'angstrom' project.byte
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,我在将 Angstrom 导入 repl 时遇到问题utop。像这样的命令#open Angstrom指示绑定到模块名称的值。我已经搜索了从 repl 导入模块的文档,但没有找到我正在寻找的结果。

引用外部模块的最佳方式是什么utop

ocaml utop

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

为什么矢量实现了关联?

我很惊讶地发现clojure向量实现了Associative接口.

(associative? [1 2 3]) ; => true
Run Code Online (Sandbox Code Playgroud)

我假设这个接口通过键提供优化的索引.根据这个假设,界面似乎适用于地图数据结构,但对于矢量来说很奇怪,它不遵循我心目中的键值启发式.

我的心理模型Associativevector实施是否不正确?这个设计选择有什么用途?

vector clojure

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

OpenCV:按区域排序轮廓(Python)

OpenCV库提供了为二进制(阈值)图像返回一组轮廓的函数。SilhouetteArea()可以用于查找关联的区域。

默认情况下,findContours()输出的轮廓列表是否按面积排序?如果不是,是否有人知道按区域排序轮廓列表的cv2函数?

请以Python而非C语言提供回应。

python opencv computer-vision

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

Julia:从同一目录中的包导入内容

假设我有一个文件stuff.jl,它包含以下函数:

function foo(x)
    return x
end
Run Code Online (Sandbox Code Playgroud)

如何从包含stuff.jl 的同一目录中调用Julia解释器中的foo?

import julia

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