一段Javascript代码如下:
num="11222333";
re = /(\d+)(\d{3})/;
re.test(num);
num.replace(re, "$1,$2");
Run Code Online (Sandbox Code Playgroud)
我无法理解"$ 1,$ 2"的语法.这段代码来自的书说$ 1表示RegExp.$ 1,$ 2表示RegExp.$ 2.但这些解释引出了更多问题:
众所周知,在Javascript中,变量的名称应以letter或_开头,$ 1如何才能成为RegExp成员变量的有效名称?
如果我输入$ 1,命令行说它没有定义; 如果我输入"$ 1",命令行只回显$ 1,而不是11222.那么,replace方法如何知道"$ 1,$ 2"是什么意思?
谢谢.
当我输入简单代码时:
import datetime
datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)
,我收到错误信息:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
datetime.utcnow()
AttributeError: 'module' object has no attribute 'utcnow'
Run Code Online (Sandbox Code Playgroud)
但是python的文档utcnow
就在这里:https://docs.python.org/library/datetime.html#datetime.datetime.utcnow.为什么utcnow
我的电脑无法正常工作?谢谢!
众所周知,这\b
意味着正则表达式中的单词边界.但是re
python中的以下模块代码不起作用:
>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
Run Code Online (Sandbox Code Playgroud)
我认为返回的结果findall
应该是["aaa"]
,但它没有找到任何东西.怎么了?
我们在Python中知道,可以通过写出它的所有元素来定义一个集合:
a_set={1,"xyz"}
Run Code Online (Sandbox Code Playgroud)
Python的书籍都说集合的元素可以是任何数据类型.所以我们应该能够写出一个包含集合的集合.我试着把它写成:
a_set={1,{"xyz"}}
Run Code Online (Sandbox Code Playgroud)
但IDLE报告了一个错误:
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
a_set={1,{"xyz"}}
TypeError: unhashable type: 'set'
Run Code Online (Sandbox Code Playgroud)
我想这可能是因为Python试图将其理解为字典.那么,如何写出一个包含Python集合的集合?
我正在尝试在运行redhat + IBM LSF的集群中从源安装最新的octave 3.8.1.除了我自己的主目录之外,我没有其他任何地方的写访问权限,这就是我必须从源代码安装八度音程的原因.集群提供的blas和lapack不起作用,所以我必须自己构建它们.我现在已经完成了编译blas和lapack并传递了./configure
,但是当我运行make时,报告错误如下:
这些都是我用来建立自己的步骤BLAS
和LAPACK
.BLAS ~/src/BLAS
的来源是在LAPACK ~/src/lapack-3.5.0
的来源进入,而八度音阶3.8.1的来源是~/src/octave-3.8.1
.只有两个模块,1) pcre/8.33 2) acml/5.3.1/gfortran64
加载,我编译BLAS共享库使用
gfortran -shared -O2 *.f -o libblas.so -fPIC
Run Code Online (Sandbox Code Playgroud)
和静态库使用
gfortran -O2 -c *.f -fPIC
ar cr libblas.a *.o
Run Code Online (Sandbox Code Playgroud)
然后我将共享库复制libblas.so
到〜/ src/octave-3.8.1.make.inc
lapack的目录中的文件内容是:
####################################################################
# LAPACK make include file. #
# LAPACK, Version 3.5.0 #
# November 2013 #
####################################################################
#
SHELL = /bin/sh
#
# Modify the FORTRAN and OPTS definitions to refer to the
# …
Run Code Online (Sandbox Code Playgroud) 是python代码
for key in dict:
...
Run Code Online (Sandbox Code Playgroud)
,dict
dict数据类型在哪里,总是以regrard的固定顺序迭代到key
?例如,假设dict={"aaa":1,"bbb",2}
上面的代码总是先让key="aaa"
(然后key="bbb"
是另一个固定的顺序)?订单是否可能是随机的?我在ubuntu 13中使用python 3.3,让我们假设这个运行环境不会改变.谢谢.
添加一件事:在多次运行期间,变量dict
保持不变,即生成一次并多次读取.
这是OpenGL代码:
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("Hello,world!");
glutDisplayFunc(display);
glutMainLoop();
}
Run Code Online (Sandbox Code Playgroud)
错误消息是:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/zh/workspace/OpenGL/CppApplication_1'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/cppapplication_1
make[2]: Entering directory `/home/zh/workspace/OpenGL/CppApplication_1'
mkdir -p dist/Debug/GNU-Linux-x86
g++ -lglut -lGLU -lGL -lGLEW -o dist/Debug/GNU-Linux-x86/cppapplication_1 build/Debug/GNU-Linux-x86/main.o -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libglut.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLEW.so /usr/lib/x86_64-linux-gnu/libGLEWmx.so
/usr/bin/ld: build/Debug/GNU-Linux-x86/main.o: undefined reference to symbol 'glClear'
/usr/lib/x86_64-linux-gnu/libGL.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/cppapplication_1] …
Run Code Online (Sandbox Code Playgroud) 我一直在ubuntu 13上使用eclipse 3.8 + PyDev + python 3.3.最近我将ubuntu升级到了14.04.似乎ubuntu 14.04附带了新的python 3.4,因此,在升级过程中,旧的python 3.3被删除并安装了新的python 3.4.然后,我的日食的PyDev插件无法在其原始目录中找到python 3.3并且报告错误,以及许多红色交叉,如下图所示.
但是Python 3.4的安装是正确的,因为我可以在使用python 3.4的IDLE中轻松导入pickle或随机模块:
我已经将PyDev升级到最新的3.4.1.你能否告诉我如何在eclipse中重新配置Python解释器(包括如何定位它),以便PyDev能够正确定位Python 3.4的位置?非常感谢你.
假设我们有四个观察值,scipy.cluster.hierarchy.linkage的返回值是:
[[ 1. 3. 0.08 2. ]
[ 2. 4. 0.28813559 3. ]
[ 0. 5. 1. 4. ]]
Run Code Online (Sandbox Code Playgroud)
该返回值意味着:首先将观察1和3合并到新的簇4,然后将观察2添加到该新簇中以形成新的簇5.最后,观察0被聚类.由于我想获得两个集群{1,3,2}和{0},我期望返回值为[2,1,1,1],这意味着元素0属于集群2,其余集合为另一个集群.簇1,使用阈值0.4.但实际上scipy.cluster.hierarchy.fcluster返回[3 1,2,1].当然我可以编写python代码来自己分析链接返回的二维数组,但我认为如果我将阈值设置为0.4,fcluster函数可以返回我想要的.但是,我不知道如何为它提供参数,所以我想知道你是否可以提供一些示例代码来进行层次聚类,linkage
并使用fcluster
分组在由集合表示的聚类中的观察结果给出最终结果.谢谢.
python ×4
regex ×2
ubuntu ×2
datetime ×1
dictionary ×1
eclipse ×1
fortran ×1
gcc ×1
installation ×1
javascript ×1
lapack ×1
linker ×1
netbeans ×1
octave ×1
opengl ×1
pydev ×1
python-3.4 ×1
scipy ×1