小编Car*_*bon的帖子

如何在Windows上进行并行化 - 例如?

如何在Windows中使用r的代码并行化代码?包括一个简单的例子.发布这个自我回答的问题,因为这对于工作是相当不愉快的.你会发现包并行不能单独工作,但包雪工作得非常好.

parallel-processing r

24
推荐指数
3
解决办法
3万
查看次数

我可以在python3中制作pprint而不是在python2中拆分字符串吗?

有没有办法告诉pprintpprintpprint弦乐器上pprint?如果你将长字符串发送到python3中pprint,它将查找pprint并拆分.python2 pprint没有这样做.可以禁用此行为吗?我查看了源代码pprint,看起来并不像我看到的这个选项.

我可以以某种方式欺骗它吗?

这是我得到的一个例子:

>>> PP.pprint("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ",width=-1,compact=True)
('ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ '
 'ZZZZZ')
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

>>> PP.pprint("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ",width=-1,compact=True)
('ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ')
Run Code Online (Sandbox Code Playgroud)

为了澄清,我确实希望它遵守宽度,而不是字符串.所以当我看到例如:

PP.pprint(["ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZ","CATS"])
Run Code Online (Sandbox Code Playgroud)

我想要:

['ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZ',
 'CATS']
Run Code Online (Sandbox Code Playgroud)

不:

['ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ '
 'ZZZZZZZZZZZZZ',
 'CATS']
Run Code Online (Sandbox Code Playgroud)

python string python-2.7 python-3.x pprint

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

如何使用智能指针动态上传和下传?

我有一些带有通用接口的代码,我需要在其中进行强制转换.我现在正试图转换为智能指针,但遇到了一些错误.下面的代码重现了这个问题.我正在使用C++ 14,所以我认为这些东西现在应该自动运行了吗?

#include <memory>
#include <iostream>
int main()
{
    std::shared_ptr<int> a(new int);
    *a = 5;
    std::shared_ptr<void> b = std::dynamic_pointer_cast<void>(a);
    std::shared_ptr<int> c = std::dynamic_pointer_cast<int>(b);
    std::cout << *c; //should be 5
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译它时,我得到:

Error   C2680   '_Elem1 *': invalid target type for dynamic_cast    
Error   C2681   'int *': invalid expression type for dynamic_cast   
Run Code Online (Sandbox Code Playgroud)

猜猜我在语法上做了些蠢事?

c++ dynamic-cast casting smart-pointers

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

std :: chrono有多准确?

std::chrono宣称它可以将结果报告到纳秒级别.在典型的x86_64 Linux或Windows机器上,人们期望它的准确度如何?例如,对于10 ns,10μs,10 ms和10 s的测量,误差条是多少?

c++ precision time c++-chrono

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

什么是python不是?特殊功能类型?

在R中!实际上是一个中缀运算符`!`,所以语句就像

Map(`!`,c(T,F,F))
Run Code Online (Sandbox Code Playgroud)

完全有效.有没有办法访问不在Python中的第一个订单对象?我一直在谷歌搜索没有成功.

python r infix-operator

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

防止列表理解中的多个调用

使用下面的示例,我们可以看到x.giveMyNum()将被调用4次 - 3次以检查myNum的值,并且一次构造要返回的列表.您可能希望它只被调用3次,因为它是一个纯函数,它的值不会改变.

列表理解版本:

class test(object):
    def __init__(self,myNum):
        self.myNum=myNum
    def giveMyNum(self):
        print "giving"
        return self.myNum
q=[test(x) for x in range(3)]
print [x.giveMyNum() for x in q if x.giveMyNum()>1]
Run Code Online (Sandbox Code Playgroud)

我知道你可以做这样的事情来解决它:

ret=[]
for x in q:
    k=x.giveMyNum()
    if k>1:
        ret.append(k)
Run Code Online (Sandbox Code Playgroud)

但有没有办法阻止列表理解中的额外调用?

我不需要保留中间值.

python list-comprehension

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

使用ParserResult

下面的示例代码似乎很好用:

open FParsec
let capitalized : Parser<unit,unit> =(asciiUpper >>. many asciiLower >>. eof)
let inverted : Parser<unit,unit> =(asciiLower >>. many asciiUpper >>. eof)
let capsOrInvert =choice [capitalized;inverted]
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

run capsOrInvert "Dog";;
run capsOrInvert "dOG";;
Run Code Online (Sandbox Code Playgroud)

并获得成功或:

run capsOrInvert "dog";;
Run Code Online (Sandbox Code Playgroud)

并失败.

既然我有一个ParserResult,我该怎么做呢?例如,向后打印字符串?

f# fparsec

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

Spark非常大的任务警告

我在 SparkSQL 中经常收到这样的警告。这个警告告诉我什么,我需要关心这个吗?

WARN TaskSetManager: Stage 1186 contains a task of very large size (4691 KB). The maximum recommended task size is 100 KB.
Run Code Online (Sandbox Code Playgroud)

apache-spark-sql

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

预分配在r

在Matlab中,它会钻进你的 - 预分配,预分配,预分配.如果你没有这样做,gremlins会吃cpu周期,你会成为一个坏人.在mat中预先分配r是否同样重要?

performance r

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

为什么printfn会立即在f#中打印?

当我运行以下代码时,我从mySum打印出5050.我已经定义了mySum,但从未调用它.怎么打印呢?也许这很奇怪,因为我的背景是Haskell而且我习惯于传递IO monad来做事情 - 在F#中如何/何时评估事物?

type main = obj [] -> int

let mySum =  [1..100] |> List.sum |> printfn "%i"


[<EntryPoint>]
let main argv = 
    0
Run Code Online (Sandbox Code Playgroud)

f#

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