小编Mar*_*ers的帖子

为什么不分配空列表(例如[] ="")错误?

在python 3.4中,我正在打字

[] = "" 
Run Code Online (Sandbox Code Playgroud)

它工作正常,没有异常.虽然当然[]不等于""事后.

[] = ()
Run Code Online (Sandbox Code Playgroud)

也行得很好.

"" = []
Run Code Online (Sandbox Code Playgroud)

尽管如此提出例外,

() = ""
Run Code Online (Sandbox Code Playgroud)

尽管如此提出例外.发生什么了?

python syntax variable-assignment

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

在R中命名变量的首选样式是什么?

在R代码中,您喜欢命名变量和函数的约定?

据我所知,有几种不同的惯例,所有这些惯例都在喧嚣的和谐中共存:

1.期间分隔符的使用,例如

  stock.prices <- c(12.01, 10.12)
  col.names    <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)

优点: 在R社区中具有历史优先权,在整个R核心中普遍存在,并且由Google的R风格指南推荐.

缺点: 充满了面向对象的内涵,让R新手感到困惑

2.使用下划线

  stock_prices <- c(12.01, 10.12)
  col_names    <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)

优点: 许多编程语言中的常见惯例; 受到Hadley Wickham风格指南的青睐,并在ggplot2和plyr包中使用.

缺点: R程序员历史上没有使用过; 令人烦恼地映射到Emacs-Speaks-Statistics中的'< - '运算符(可以用'ess-toggle-underscore'改编).

3.混合资本化的使用(camelCase)

  stockPrices <- c(12.01, 10.12)
  colNames    <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)

优点:似乎在多个语言社区得到广泛采用.

缺点:有最近的先例,但没有历史使用(在R基础或其文档中).

最后,好像它没有足够的混淆,我应该指出谷歌风格指南争论变量的点符号,但函数的混合大写.

R包中缺乏一致的样式在几个层面上存在问题.从开发人员的角度来看,它使维护和扩展其他代码变得困难(尤其是其风格与您自己的风格不一致).从R用户的角度来看,不一致的语法通过将概念表达的方式相乘来加深R的学习曲线(例如,日期转换函数asDate(),as.date()或as_date()?不,它就是.日期()).

coding-style r naming-conventions

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

在开发国际象棋程序时,使用给定值初始化方向数组有什么意义?

我是竞争性编程的新手,我经常注意到,许多伟大的编码员在他们的代码中都有这四行(特别是那些涉及数组的代码):

int di[] = { 1, -1, 0, 0, 1, -1, 1, -1 };
int dj[] = { 0, 0, 1, -1, 1, -1, -1, 1 };
int diK[] = { -2, -2, -1, 1, 2, 2, 1, -1 };
int djK[] = { -1, 1, 2, 2, 1, -1, -2, -2 };
Run Code Online (Sandbox Code Playgroud)

这真正意味着什么,技术用于什么?

c c++ chess

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

计算数组中的反转

我正在设计一个算法来执行以下操作:给定数组A[1... n],对于每个i < j,找到所有的反转对A[i] > A[j].我正在使用合并排序并将数组A复制到数组B,然后比较两个数组,但我很难看到如何使用它来查找反转次数.任何提示或帮助将不胜感激.

algorithm

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

python3和python3m可执行文件之间的区别

是什么之间的区别/usr/bin/python3/usr/bin/python3mexecutibles?

我在Ubuntu 13.04上观察它们,但Google建议它们也存在于其他发行版中.

这两个文件具有相同的md5sum,但似乎不是符号链接或硬链接; 返回的两个文件具有不同的inode编号,ls -li并且测试find -xdev -samefile /usr/bin/python3.3不会返回任何其他文件.

有人在AskUbuntu上问了一个类似的问题,但我想了解更多关于两个文件之间的区别.

python python-3.x

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

为什么在文件路径中为Unicode转义获取SyntaxError?

我想要的文件夹名为python,位于我的桌面上.

当我试图达到它时,我收到以下错误

>>> os.chdir('C:\Users\expoperialed\Desktop\Python')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Run Code Online (Sandbox Code Playgroud)

python windows filenames

100
推荐指数
4
解决办法
20万
查看次数

jquery.validate.unobtrusive不使用动态注入元素

我正在使用ASP.Net MVC3,更简单的方法来使用客户端验证将启用jquery.validate.unobtrusive.对于那些来自服务器的东西,一切正常.

但是当我尝试用javascript注入一些新的"输入"时,我知道我需要调用$.validator.unobtrusive.parse()来重新绑定验证.但是,所有这些动态注入的字段都不起作用.

更糟糕的是,我尝试手动绑定使用jquery.validate它也无法正常工作.有什么想法吗?

jquery-validate unobtrusive-validation asp.net-mvc-3

98
推荐指数
6
解决办法
7万
查看次数

python字符串之前的ab前缀是什么意思?

在python源代码中,我偶然发现我在字符串之前看到了一个小b:

b"abcdef"
Run Code Online (Sandbox Code Playgroud)

我知道u前缀表示unicode字符串,以及r原始字符串文字的前缀.

什么b样的代码和哪种源代码是有用的,因为它看起来完全像没有任何前缀的普通字符串?

python syntax byte python-3.x

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

将PDB断点放在Python代码中的简单方法?

只是一个方便的问题.我在Visual Studio和XCode等IDE中使用调试器有点被宠坏了.我发现必须键入import pdb; pdb.set_trace()设置断点有点笨拙(我宁愿不在文件顶部导入pdb,因为我可能会忘记并将其保留).

是否有一种更简单的方法在Python代码中设置断点,与您在IDE中看到的一样简单明了?

python pdb

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

阅读一个巨大的.csv文件

我目前正在尝试从Python 2.7中的.csv文件读取数据,最多包含100万行和200列(文件范围从100mb到1.6gb).对于300,000行以下的文件,我可以(非常慢)地执行此操作,但是一旦我超过该值,我就会出现内存错误.我的代码看起来像这样:

def getdata(filename, criteria):
    data=[]
    for criterion in criteria:
        data.append(getstuff(filename, criteron))
    return data

def getstuff(filename, criterion):
    import csv
    data=[]
    with open(filename, "rb") as csvfile:
        datareader=csv.reader(csvfile)
        for row in datareader: 
            if row[3]=="column header":
                data.append(row)
            elif len(data)<2 and row[3]!=criterion:
                pass
            elif row[3]==criterion:
                data.append(row)
            else:
                return data
Run Code Online (Sandbox Code Playgroud)

getstuff函数中else子句的原因是所有符合条件的元素都将在csv文件中一起列出,所以当我越过它们时我会离开循环以节省时间.

我的问题是:

  1. 如何才能让这个与更大的文件一起使用?

  2. 有什么方法可以让它更快吗?

我的电脑有8GB RAM,运行64位Windows 7,处理器是3.40 GHz(不确定你需要什么信息).

非常感谢您的帮助!

python csv file python-2.7

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