Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

5
如果是平局,Python会选择哪个最大值?
当max()在Python中使用该函数在列表(或元组,字典等)中查找最大值时,并且最大值与并列,Python会选择哪一个?它是随机的吗? 例如,如果有一个元组列表,并且key=根据元组的第一个元素选择一个最大值(使用),但是有不同的第二个元素,则这是有意义的。Python如何决定选择哪个最大?
72 python  max 


4
为什么numpy的einsum比numpy的内置函数快?
让我们从的三个数组开始dtype=np.double。使用numpy 1.7.1编译icc并链接到intel的numpy 1.7.1在intel CPU上执行计时mkl。一个AMD的CPU与编译numpy的1.6.1gcc不mkl也被用来验证的时序。请注意,计时几乎与系统大小成线性比例,并且不是由于numpy函数if语句中的开销很小,这些差异将以微秒而非毫秒显示: arr_1D=np.arange(500,dtype=np.double) large_arr_1D=np.arange(100000,dtype=np.double) arr_2D=np.arange(500**2,dtype=np.double).reshape(500,500) arr_3D=np.arange(500**3,dtype=np.double).reshape(500,500,500) 首先让我们看一下np.sum函数: np.all(np.sum(arr_3D)==np.einsum('ijk->',arr_3D)) True %timeit np.sum(arr_3D) 10 loops, best of 3: 142 ms per loop %timeit np.einsum('ijk->', arr_3D) 10 loops, best of 3: 70.2 ms per loop 权力: np.allclose(arr_3D*arr_3D*arr_3D,np.einsum('ijk,ijk,ijk->ijk',arr_3D,arr_3D,arr_3D)) True %timeit arr_3D*arr_3D*arr_3D 1 loops, best of 3: 1.32 s per loop %timeit np.einsum('ijk,ijk,ijk->ijk', …

10
使用pip安装pylibmc时出错
您好,当我尝试使用pip在OSX Lion上安装pylibmc时,出现以下错误: ./_pylibmcmodule.h:42:10: fatal error: 'libmemcached/memcached.h' file not found #include <libmemcached/memcached.h> ^ 1 error generated. error: command 'clang' failed with exit status 1 关于如何解决此问题的任何线索?


6
如何告诉PyLint“这是一个变量,而不是一个常量”来停止消息C0103?
我的Python 2.6程序中有一个名为“ _log”的模块级变量,PyLint抱怨: C0103: Invalid name "_log" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 阅读了这个答案后,我了解了为什么这样做:它认为变量是一个常量,并应用了常量正则表达式。但是,我希望有所不同:我认为这是一个变量。我该如何告诉PyLint,以便它不会抱怨?PyLint如何确定它是变量还是常量-它将所有模块级变量都视为常量吗?
72 python  pylint 

5
在Spark中更新数据框列
查看新的spark数据框api,尚不清楚是否可以修改数据框列。 我怎么会去改变行的值x列y一个数据帧的? 在pandas这将是df.ix[x,y] = new_value 编辑:合并以下内容,您将无法修改现有数据框,因为它是不可变的,但是您可以返回具有所需修改的新数据框。 如果您只想根据条件替换列中的值,例如np.where: from pyspark.sql import functions as F update_func = (F.when(F.col('update_col') == replace_val, new_value) .otherwise(F.col('update_col'))) df = df.withColumn('new_column_name', update_func) 如果要对列执行某些操作并创建一个添加到数据框的新列: import pyspark.sql.functions as F import pyspark.sql.types as T def my_func(col): do stuff to column here return transformed_value # if we assume that my_func returns a …


2
在Python中格式化字符串和命名参数
情况1: "{arg1} {arg2}".format(10, 20) 它将给出,KeyError: 'arg1'因为我没有传递命名参数。 情况2: "{arg1} {arg2}".format(arg1=10, arg2=20) 现在它将正常运行,因为我传递了命名参数。它打印'10 20' 情况3: 而且,如果我输入了错误的名称,它将显示 KeyError: 'arg1' "{arg1} {arg2}".format(wrong=10, arg2=20) 但, 情况4: 如果我以错误的顺序传递了命名参数 "{arg1} {arg2}".format(arg2=10, arg1=20) 有用... 它打印 '20 10' 我的问题是为什么它起作用,在这种情况下命名参数的用途是什么。

9
如何使用Python获取Unix或Linux中程序的进程ID?
我正在用Python编写一些监视脚本,并且试图找到最干净的方法来获取给定该程序名称的任何随机运行程序的进程ID。 就像是 ps -ef | grep MyProgram 我可以解析它的输出,但是我认为在python中可能会有更好的方法
72 python 

6
给定2个句子字符串,计算余弦相似度
从Python:tf-idf-cosine:查找文档相似度,可以使用tf-idf余弦计算文档相似度。如果不导入外部库,是否有任何方法可以计算2个字符串之间的余弦相似度? s1 = "This is a foo bar sentence ." s2 = "This sentence is similar to a foo bar sentence ." s3 = "What is this string ? Totally not related to the other two lines ." cosine_sim(s1, s2) # Should give high cosine similarity cosine_sim(s1, s3) # Shouldn't …

18
Bash脚本有什么用了吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我刚刚完成第二年的大学CS学习,所以我缺乏对“现实世界”的了解。我第一年学习Java,然后继续学习Java,第二年学习了C和简单的Bash脚本。今年夏天,我正在尝试学习Perl(上帝帮助我)。我过去有点涉猎Python。 我的问题是,既然我们拥有易读,可写的脚本语言,例如Python,Ruby,Perl等,为什么有人编写Bash脚本?有什么我想念的吗?我知道我的linux机器有perl和python。它们不够普及吗?在Bash中确实有比在其他hll中更容易做的事情吗?

9
使用Django将数千条记录插入SQLite表的有效方法是什么?
我必须使用Django的ORM将8000多个记录插入SQLite数据库。此操作需要作为cronjob大约每分钟运行一次。 目前,我正在使用for循环遍历所有项目,然后将它们一个接一个地插入。 例: for item in items: entry = Entry(a1=item.a1, a2=item.a2) entry.save() 什么是有效的方法? 编辑:两种插入方法之间的一点比较。 没有commit_manually装饰器(11245个记录): nox@noxdevel marinetraffic]$ time python manage.py insrec real 1m50.288s user 0m6.710s sys 0m23.445s 使用commit_manually装饰器(11245条记录): [nox@noxdevel marinetraffic]$ time python manage.py insrec real 0m18.464s user 0m5.433s sys 0m10.163s 注意:除了将脚本插入数据库(下载ZIP文件,从ZIP存档中提取XML文件,解析XML文件)之外,测试脚本还执行其他一些操作,因此执行所需的时间不一定代表插入所需的时间。记录。
72 python  sql  django  sqlite  insert 

4
了解* x,= lst
我正在阅读一些旧代码,试图了解它的作用,并且遇到了这个奇怪的陈述: *x ,= p p在这种情况下是一个列表。我一直在努力弄清楚该语句的作用。据我所知,它只是设置x为的值p。例如: p = [1,2] *x ,= p print(x) 只是给 [1, 2] 那么这有什么不同x = p吗?知道这个语法在做什么吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.