小编fma*_*ark的帖子

"is"关键字的类型可能等同于Python中的等于运算符

对于Python中的某些类型,is运算符似乎等同于==运算符.例如:

>>> 1 is 1
True
>>> "a spoon" is "a spoon"
True
>>> (1 == 1) is (2 == 2)
True
Run Code Online (Sandbox Code Playgroud)

然而,这并非总是如此:

>>> [] == []
True
>>> [] is []
False
Run Code Online (Sandbox Code Playgroud)

这对于诸如列表之类的可变类型是有意义的.但是,诸如元组之类的不可变类型似乎显示相同的行为:

>>> (1, 2) == (1, 2)
True
>>> (1, 2) is (1, 2)
False
Run Code Online (Sandbox Code Playgroud)

这提出了几个问题:

  1. ==/ is相关不变性等价?
  2. 上面列出的行为或实现细节是?
  3. 最重要的(并且基本上),我如何知道作业是否会导致正在制作的对象的副本,或者对它的引用?

更新:如果总是通过引用分配,为什么不打印以下内容2?:

>>> a = 1
>>> b = a
>>> a = 2
>>> b
1 …
Run Code Online (Sandbox Code Playgroud)

python identity reference immutability variable-assignment

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

在javascript中的四叉树

我一直在使用jQuery,我在javascript中获得了这个代码用于四叉树:

map = array(
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)),
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4))
);

map[0][3][3] = "END OF ARRAY 1";
map[1][3][3] = "END OF ARRAY 2";
Run Code Online (Sandbox Code Playgroud)

不过这对我来说就像一个3d数组,我是傻吗?^.^

javascript quadtree data-structures

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

找到序数中位数的惯用法

我需要在R中找到序数(即有序因子)的中位数.

我在标准库中找不到这样做的方法,所以我提出了以下笨重的解决方案:

ordinal.median <- function(x){
        lbls <- levels(x)
        new.vars <- c(NA, 1:length(lbls))
        new.vars[1] <- median(as.numeric(x))
        return(factor(new.vars, labels=lbls, ordered=T)[1])
}
Run Code Online (Sandbox Code Playgroud)

R中的惯用解决方案是什么?

r median ordinal r-factor

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

用于"左连接"两个数据帧的惯用R方法

我有两个数据框,它们都有一个包含如下因素的列:

> head(test.data)
      var0     var1       date  store
1 109.5678 109.5678 1990-03-30 Store1
2 109.3009 108.4261 1990-06-30 Store1
3 108.8262 106.2517 1990-09-30 Store1
4 108.2443 108.6417 1990-12-30 Store1
5 109.5678 109.5678 1991-03-30 Store1
6 109.3009 108.4261 1991-06-30 Store1
> summary(test.data)
      var0             var1              date                store   
 Min.   : -9.72   Min.   : -2.297   Min.   :1990-03-30   Store1 : 8  
 1st Qu.: 68.32   1st Qu.: 71.305   1st Qu.:1990-09-07   Store2 : 8  
 Median :102.19   Median :101.192   Median :1991-02-13   Store3 : 8  
 Mean   :101.09   Mean   :103.042   Mean   :1991-02-13 …
Run Code Online (Sandbox Code Playgroud)

loops idioms join r

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

在R向量中"向下"复制单元格值的惯用法

可能重复:
使用先前的非NA值在向量中填充NA?

是否有一种惯用的方法可以在R向量中"向下"复制单元格值?通过"复制",我的意思是用最接近的先前非NA值替换NA.

虽然我可以使用for循环非常简单地执行此操作,但它运行速度非常慢.关于如何矢量化的任何建议将不胜感激.

# Test code
# Set up test data
len <- 1000000
data <- rep(c(1, rep(NA, 9)), len %/% 10) * rep(1:(len %/% 10), each=10)
head(data, n=25)
tail(data, n=25)

# Time naive method
system.time({
  data.clean <- data;
  for (i in 2:length(data.clean)){
    if(is.na(data.clean[i])) data.clean[i] <- data.clean[i-1]
  }
})

# Print results
head(data.clean, n=25)
tail(data.clean, n=25)
Run Code Online (Sandbox Code Playgroud)

试运行结果:

> # Set up test data
> len <- 1000000
> data <- rep(c(1, rep(NA, 9)), len %/% 10) * rep(1:(len %/% …
Run Code Online (Sandbox Code Playgroud)

performance loops idioms r vectorization

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

如何使用js将文件从一个文件夹复制到另一个文件夹

我正面临着将图像从一个文件夹复制到另一个文件夹的问题.有可能通过JS手段请指导我,我有图像路径(例如C:\Program Files\xampp\htdocs\gallary\images\addnew.gif:)我想要使用js.提前将图像复制到另一个文件夹.

javascript php file

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

写入文件(python)

     if data.find('!add') != -1:
       f = open('masters.txt', 'w')
       f.writelines(args, '\n')
       sck.send('PRIVMSG ' + chan + ' :' + ' added' + " " + args + '\r\n')
       f.close()
Run Code Online (Sandbox Code Playgroud)

当我使用这个代码时,它用新数据替换旧数据,我该怎样才能使新数据不替换旧数据,但在文件末尾结束.

python io file

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