这是有关差异列表的问题的后续问题。
一般append/3或conc/3的写法如下:
append([], L, L).
append([H1|T1], L2, [H1|L3]):-
append(T1, L2, L3).
Run Code Online (Sandbox Code Playgroud)
这种递归的缺点是,当将长列表作为第一个参数时,它不能有效运行,因为在开始实际附加之前需要处理整个列表。
为了提高效率,我们可以使用不同的列表,只需要变量实例化,不需要递归来追加列表。
append_d(A1-Z1, Z1-Z2, A1-Z2).
Run Code Online (Sandbox Code Playgroud)
问题是,无论我在哪里寻找append/3谓词的定义,都会使用前者,而不是所谓的更有效的替代方案。这是为什么?使用差异列表有什么缺点?它们不能证明效率的提高是合理的吗?
我知道这个问题已经问了一百次了,但答案似乎总是“使用 numpy 的 argsort”。但是,要么我误解了大多数人的要求,要么问题的答案不正确。无论如何,我希望获得列表升序的索引。措辞令人困惑,因此举个例子,给定一个列表,[4, 2, 1, 3]我希望得到一个列表[3, 1, 0, 2]。最小的项目是1,所以它得到索引0,最大的项目是,4所以它得到索引3。在我看来,argsort经常有人建议这样做,但似乎并没有这样做。
from numpy import argsort
l = [4, 2, 1, 3]
print(argsort(l))
# [2, 1, 3, 0]
# Expected [3, 1, 0, 2]
Run Code Online (Sandbox Code Playgroud)
很明显 argsort 正在做其他事情,那么它实际上在做什么,它与预期的行为有何相似之处,以至于它经常(错误地)被建议?而且,更重要的是,我怎样才能获得所需的输出?
我正在尝试标记和解析已经分成句子并且已经被标记化的文本。举个例子:
sents = [['I', 'like', 'cookies', '.'], ['Do', 'you', '?']]
Run Code Online (Sandbox Code Playgroud)
处理批量文本的最快方法是.pipe()。但是,我不清楚如何将其与预标记和预分段的文本一起使用。性能是这里的关键。我尝试了以下操作,但这引发了错误
docs = [nlp.tokenizer.tokens_from_list(sentence) for sentence in sents]
nlp.tagger(docs)
nlp.parser(docs)
Run Code Online (Sandbox Code Playgroud)
痕迹:
Traceback (most recent call last):
File "C:\Python\Python37\Lib\multiprocessing\pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "C:\Python\projects\PreDicT\predicting-wte\build_id_dictionary.py", line 204, in process_batch
self.nlp.tagger(docs)
File "pipes.pyx", line 377, in spacy.pipeline.pipes.Tagger.__call__
File "pipes.pyx", line 396, in spacy.pipeline.pipes.Tagger.predict
File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\model.py", line 169, in __call__
return self.predict(x)
File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\feed_forward.py", line 40, in predict
X = layer(X)
File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\model.py", line 169, in …Run Code Online (Sandbox Code Playgroud) 所以我一直想做这样的事情,但从来不知道如何使用未定义的自然变量(例如1,2,3,4,5 ...)
我想要这样的东西:
if($("#container").width() == 400*n) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,n可以是任何自然基数(并且优选地不是零).你怎么定义n?
我不能让这个锚转换工作!请告诉我你的想法.
这是CSS
a.transition {
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
Run Code Online (Sandbox Code Playgroud)
这是HTML
<h1 id="intro">Let's Build Something... </h1>
<h1 id="intro2"><a class="transition" href="#create">Together</a>.</h1>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<p><a name="create" class="transition">My name is Geoff Phillips, and I'm an innovator. What can I create for you?<a/></p>
Run Code Online (Sandbox Code Playgroud) 我有这个选择器:
$('ul:not(.sub-menu) > li, ul.sub-menu > li:last-child').not(':has(ul.sub-menu)');
获得这些元素:
li父母不是的 每个直系后裔.sub-menu(除非是最后一个,参见2).ul.sub-menuli作为父母的所有人ul.sub-menu现在,我想在if语句中使用它,它在hover-function中.换句话说,它必须是相对于列表项目,而不是作为列表项.
像这样的东西:
$("nav li").hover(function () {
var $this = $(this);
if (($this.parent("ul:not(.sub-menu)") || ($this.parent("ul.sub-menu") && $this.is(":last-child"))) && $this.not(":has(ul.sub-menu)")) {
// do something
}
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我认为它与在if语句中组合OR和AND选择器有关,但我似乎无法调试它:上面的代码选择所有列表项而没有区别.
我正在通过分配给变量的 get_terms() 的结果填充无序列表。我想做的是在无序列表中按特定顺序对结果进行排序。我该怎么做?我研究了 get_terms() 函数的 orderby 参数,但似乎没有一个参数能按照我需要的方式工作。如何定义它们的显示顺序?所以基本上我的无序列表在填充后看起来像这样:
注意:这个问题涵盖了为什么脚本这么慢。但是,如果您更喜欢改进某些东西,可以查看我在 CodeReview 上的帖子,该帖子旨在提高性能。
我正在处理一个处理纯文本文件 (.lst) 的项目。
文件名 ( fileName) 的名称很重要,因为我将从它们中提取node(例如abessijn)和component(例如 WR-PEA)到一个数据帧中。例子:
abessijn.WR-P-E-A.lst
A-bom.WR-P-E-A.lst
acroniem.WR-P-E-C.lst
acroniem.WR-P-E-G.lst
adapter.WR-P-E-A.lst
adapter.WR-P-E-C.lst
adapter.WR-P-E-G.lst
Run Code Online (Sandbox Code Playgroud)
每个文件由一行或多行组成。每行由一个句子(在<sentence>标签内)组成。示例(abessijn.WR-PEA.lst)
/home/nobackup/SONAR/COMPACT/WR-P-E-A/WR-P-E-A0000364.data.ids.xml: <sentence>Vooral mijn abessijn ruikt heerlijk kruidig .. : ) )</sentence>
/home/nobackup/SONAR/COMPACT/WR-P-E-A/WR-P-E-A0000364.data.ids.xml: <sentence>Mijn abessijn denkt daar heel anders over .. : ) ) Maar mijn kinderen richt ik ook niet af , zit niet in mijn bloed .</sentence>
Run Code Online (Sandbox Code Playgroud)
我从每一行中提取句子,对其进行一些小的修改,然后将其命名为sentence. 接下来是一个名为 的元素leftContext,它采用node(例如 …
我不明白为什么网络技术如此混乱.我正在努力完成一些非常简单的事情.但发现它有bug.
所以我要做的是在div中加载用户选择的图像.它第一次工作.但是,一旦我选择浏览并选择另一个图像,它就不起作用.这有什么不对?
<input type="file" id="imgUploadButton" class="default" name="picture" onchange="imageUploaded(event);" />
Run Code Online (Sandbox Code Playgroud)
这是Javascript代码
var selectedFile = event.target.files[0];
var reader = new FileReader();
var imgtag = document.getElementById("imageTool");
imgtag.title = selectedFile.name;
reader.onload = function(event) {
imgtag.src = event.target.result;
};
reader.readAsDataURL(selectedFile);
Run Code Online (Sandbox Code Playgroud) 当我把这个问题写在一个空列表上作为差异列表时,我想测试我对这些结构的了解.然而,当我尝试一些简单的事情,比如比较不同的符号时,似乎我错了,而且我不明白差异列表实际发生了什么.
?- L = [a,b,c|[d,e]]-[d,e], L = [a,b,c].
false % expected true
Run Code Online (Sandbox Code Playgroud)
我在SWI-Prolog和SICStus上测试了这个.我验证了符号,因为它是如何在Bratko的人工智能Prolog编程中编写的,第210页,但显然统一是不可能的.这是为什么?这些符号不具有相同的声明含义吗?
jquery ×3
python ×3
html ×2
javascript ×2
list ×2
prolog ×2
sorting ×2
anchor ×1
arrays ×1
bigdata ×1
css3 ×1
if-statement ×1
nlp ×1
numbers ×1
numpy ×1
performance ×1
python-3.x ×1
r ×1
recursion ×1
regex ×1
spacy ×1
tokenize ×1
transition ×1
variables ×1
wordpress ×1