小编nic*_*ico的帖子

为什么我可以在Python for循环中为迭代器和序列使用相同的名称?

这更像是一个概念性问题.我最近在Python中看到了一段代码(它在2.7中工作,也可能在2.5中运行),其中一个for循环对迭代的列表和列表中的项使用相同的名称,这既是一种糟糕的做法,也是一种根本不起作用的东西.

例如:

x = [1,2,3,4,5]
for x in x:
    print x
print x
Run Code Online (Sandbox Code Playgroud)

产量:

1
2
3
4
5
5
Run Code Online (Sandbox Code Playgroud)

现在,我觉得打印的最后一个值是从循环中分配给x的最后一个值,但是我不明白为什么你能够为for循环的两个部分使用相同的变量名并且它按预期运作.它们在不同的范围内吗?引擎盖下发生了什么让这样的事情发挥作用?

python for-loop variable-assignment python-internals

78
推荐指数
3
解决办法
4618
查看次数

从POSIXct中提取时间

如何从丢弃日期部分的一系列POSIXct对象中提取时间?

例如,我有:

times <- structure(c(1331086009.50098, 1331091427.42461, 1331252565.99979, 
1331252675.81601, 1331262597.72474, 1331262641.11786, 1331269557.4059, 
1331278779.26727, 1331448476.96126, 1331452596.13806), class = c("POSIXct", 
"POSIXt"))
Run Code Online (Sandbox Code Playgroud)

对应于这些日期:

"2012-03-07 03:06:49 CET" "2012-03-07 04:37:07 CET" 
"2012-03-09 01:22:45 CET" "2012-03-09 01:24:35 CET" 
"2012-03-09 04:09:57 CET" "2012-03-09 04:10:41 CET"
"2012-03-09 06:05:57 CET" "2012-03-09 08:39:39 CET"
"2012-03-11 07:47:56 CET" "2012-03-11 08:56:36 CET"
Run Code Online (Sandbox Code Playgroud)

现在,我有一些在这些时间测量的参数值

val <- c(1.25343125e-05, 0.00022890575, 
         3.9269125e-05, 0.0002285681875, 
         4.26353125e-05, 5.982625e-05, 
         2.09575e-05, 0.0001516951251, 
         2.653125e-05, 0.0001021391875)
Run Code Online (Sandbox Code Playgroud)

我想绘制val与当天的时间,而不考虑测量val的具体日期.

是否有一个特定的功能可以让我这样做?

time r date posixct

75
推荐指数
5
解决办法
8万
查看次数

获取R脚本的路径

有没有办法以编程方式在脚本本身内找到R脚本的路径?

我问这个是因为我有几个脚本使用RGtk2并从.glade文件加载GUI.

在这些脚本中,我不得不setwd("path/to/the/script")在开头放置一条指令,否则将找不到.glade文件(位于同一目录中).

这很好,但如果我将脚本移动到另一个目录或另一台计算机,我必须更改路径.我知道,这不是什么大问题,但有一些东西会很好:

setwd(getScriptPath())

那么,是否存在类似的功能?

r path

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

防止取消列出以删除NULL值

我有一个列表矢量,我使用unlist它们.一些载体中的元素是NULLunlist似乎投下他们.

我怎么能阻止这个?

下面是一个简单的(非)工作表示本实例不需要的功能unlist

a = c(list("p1"=2, "p2"=5), 
      list("p1"=3, "p2"=4), 
      list("p1"=NULL, "p2"=NULL), 
      list("p1"=4, "p2"=5))
unlist(a)
 p1 p2 p1 p2 p1 p2 
 2  5  3  4  4  5 
Run Code Online (Sandbox Code Playgroud)

null r list

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

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

使用|| Javascript中的{}

我在Javascript中看到过类似的内容:

   function name (secret) {
          secret = secret || {};
Run Code Online (Sandbox Code Playgroud)

我无法找到任何意味着什么秘密=秘密|| {};

这是否意味着创建具有传递参数或对象值的全局变量?

你什么时候使用它?什么时候没有参数传递?

javascript

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

在R中的矩阵中查找模式

例如,我有一个8 xn矩阵

set.seed(12345)
m <- matrix(sample(1:50, 800, replace=T), ncol=8)
head(m)

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]   37   15   30    3    4   11   35   31
[2,]   44   31   45   30   24   39    1   18
[3,]   39   49    7   36   14   43   26   24
[4,]   45   31   26   33   12   47   37   15
[5,]   23   27   34   29   30   34   17    4
[6,]    9   46   39   34    8   43   42   37
Run Code Online (Sandbox Code Playgroud)

我想在矩阵中找到一个特定的模式,例如我想知道在哪里可以找到一个37,然后在下一行中找到一个10和29以及后面的一个42

例如,这发生在上述矩阵的第57:59行

m[57:59,]
     [,1] [,2] [,3] [,4] [,5] …
Run Code Online (Sandbox Code Playgroud)

r matrix

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

运行for循环时获取错误"级别因子集不同"

我有以下3个表格:

AggData <- structure(list(Path = c("NonBrand", "Brand", "NonBrand,NonBrand", 
"Brand,Brand", "NonBrand,NonBrand,NonBrand", "Brand,Brand,Brand", 
"Brand,NonBrand", "NonBrand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,Brand,Brand,Brand,Brand", "Brand,Brand,NonBrand", "NonBrand,Brand,Brand", 
"Brand,NonBrand,NonBrand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"NonBrand,NonBrand,Brand", "Brand,NonBrand,Brand", "NonBrand,Brand,NonBrand", 
"NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,Brand,Brand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"NonBrand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,Brand", 
"Brand,Brand,Brand,NonBrand", "Brand,Brand,Brand,Brand,Brand,Brand,Brand", 
"Brand,NonBrand,NonBrand,NonBrand", "NonBrand,NonBrand,Brand,Brand", 
"Brand,Brand,NonBrand,NonBrand", "Brand,NonBrand,Brand,Brand", 
"NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,Brand,NonBrand,Brand", "NonBrand,Brand,NonBrand,NonBrand", 
"Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"NonBrand,NonBrand,Brand,NonBrand", "Brand,NonBrand,NonBrand,Brand", 
"NonBrand,Brand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand,Brand", 
"Brand,NonBrand,Brand,NonBrand", "NonBrand,Brand,Brand,NonBrand", 
"Brand,Brand,Brand,Brand,NonBrand", "Brand,NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", 
"Brand,NonBrand,Brand,Brand,Brand", "NonBrand,Brand,NonBrand,Brand", 
"Brand,Brand,Brand,NonBrand,Brand", "NonBrand,NonBrand,Brand,Brand,Brand", 
"NonBrand,NonBrand,NonBrand,Brand,Brand", "Brand,Brand,NonBrand,Brand,Brand", 
"Brand,Brand,Brand,NonBrand,NonBrand", "Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand,Brand", 
"NonBrand,NonBrand,NonBrand,Brand,NonBrand", "Brand,Brand,NonBrand,NonBrand,NonBrand", 
"NonBrand,Brand,Brand,Brand,Brand,Brand", "NonBrand,Brand,NonBrand,NonBrand,NonBrand", 
"NonBrand,NonBrand,Brand,NonBrand,NonBrand", "NonBrand,NonBrand,NonBrand,NonBrand,NonBrand,Brand", 
"Brand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", "Brand,Brand,Brand,Brand,Brand,NonBrand", 
"NonBrand,Brand,Brand,NonBrand,NonBrand", "Brand,NonBrand,NonBrand,Brand,Brand", 
"NonBrand,NonBrand,NonBrand,NonBrand,Brand,Brand", "NonBrand,NonBrand,Brand,Brand,Brand,Brand", 
"NonBrand,NonBrand,NonBrand,NonBrand,Brand,NonBrand", "NonBrand,NonBrand,Brand,NonBrand,Brand", 
"Brand,NonBrand,NonBrand,Brand,NonBrand", "NonBrand,NonBrand,NonBrand,Brand,Brand,Brand", 
"NonBrand,Brand,Brand,NonBrand,Brand", "Brand,NonBrand,NonBrand,NonBrand,NonBrand,Brand", 
"Brand,Brand,NonBrand,NonBrand,NonBrand,NonBrand,NonBrand", "Brand,Brand,Brand,Brand,NonBrand,NonBrand,NonBrand"
), click_count …
Run Code Online (Sandbox Code Playgroud)

r

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

R包中的延迟加载错误

我在R版本3.1.3中构建R包,但每当我尝试安装它时,我收到以下错误消息;

* installing *source* package ‘SPO’ ...
** R
** data
*** moving datasets to lazyload DB
** preparing package for lazy loading
Error : argument "data" is missing, with no default
Error : unable to load R code in package ‘SPO’
ERROR: lazy loading failed for package ‘SPO’
* removing ‘/home/evans/Desktop/SPO.Rcheck/SPO’
Run Code Online (Sandbox Code Playgroud)

如有任何关于如何解决延迟加载问题的帮助将非常感激.谢谢.

r

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

在多列上添加外键

我正在尝试在表的两列上创建一个外键以指向另一个表的同一列,但我似乎得到一个错误...

这是我做的:

CREATE TABLE test2 (
  ID INT NOT NULL AUTO_INCREMENT,  
  col1 INT NOT NULL,
  col2 INT NOT NULL, 
  PRIMARY KEY (ID),
  CONSTRAINT fk FOREIGN KEY (col1, col2)
                REFERENCES test1(ID, ID)
  ON UPDATE CASCADE
  ON DELETE RESTRICT
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

但我明白了

ERROR 1005 (HY000): Can't create table 'DB.test2' (errno: 150)

但是,如果我只有一列,则表格已正确创建.

有人能指出我的错误在哪里吗?

谢谢你

mysql foreign-keys mysql-error-1005

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