我今天注意到以下工作使用python 2.6(Cpython)...
>>> a=[100,200]
>>> a[True]
200
>>> a[False]
100
Run Code Online (Sandbox Code Playgroud)
这是否可以移植到其他python实现(例如True/ False保证从int继承?True保证评估为1而不是其他一些非零数字?)是否有任何情况会有用?它似乎可以用作三元运算符的另一种形式,但我不知道那里获得了多少......
根据各种因素,我可能没有一个或多个数据文件,在预定义的gnuplot绘图指令中引用,不存在.在这种情况下,我得到"警告:跳过不可读的文件",取消其余的说明.
有什么方法可以让gnuplot跳过任何丢失的数据文件并绘制所有现有的文件?
在回答另一个问题时,我最终创建了一个sortkey函数,该函数修改了一个字典以保存状态,然后该状态将用于排序中的后续项目.
虽然我的回答似乎有效,但我的问题是:在python文档中实际定义的是,每个对象只调用一次sort-key吗?这是Cpython的实现细节吗?或者实际上是不是一次调用了排序键,我只是运气不好才得到正确的答案?
sorted各州的文件:
key指定一个参数的函数,该函数用于从每个列表元素中提取比较键:key = str.lower.默认值为None(直接比较元素)
我不认为这意味着key每个元素只会调用一次......但可以在其他地方说明.
显然我问,因为这会对任何具有副作用的排序键产生影响.
我想在matplotlib图的原点放置一个半黑半半的白色圆圈.我知道存在一个Circle类,但我不知道如何指定圆的左半部分应该是白色而右半部分应该是黑色的.(一个理想的解决方案可以让我指定圆的方向 - 例如我应该能够旋转它,以便例如顶部可以是白色而底部是黑色).
如果你有array = np.array([1,2,3,4])并且你index = np.array([0,1,2])想要删除数组中的索引元素,那么在没有循环的情况下执行此操作的最佳方法是什么?
我想在我的ubuntu 12.04上安装cython,然后进入终端
sudo easy_install cython
Run Code Online (Sandbox Code Playgroud)
作为回应,我收到以下错误:
Searching for cython
Reading http://pypi.python.org/simple/cython/
Reading http://www.cython.org
Reading http://cython.org
Best match: Cython 0.16
Downloading http://www.cython.org/release/Cython-0.16.zip
Processing Cython-0.16.zip
Running Cython-0.16/setup.py -q bdist_egg --dist-dir /tmp/easy_install-VzJ0lH/Cython-0.16/egg-dist-tmp-BMJs3p
Compiling module Cython.Plex.Scanners ...
Compiling module Cython.Plex.Actions ...
Compiling module Cython.Compiler.Lexicon ...
Compiling module Cython.Compiler.Scanning ...
Compiling module Cython.Compiler.Parsing ...
Compiling module Cython.Compiler.Visitor ...
Compiling module Cython.Compiler.FlowControl ...
Compiling module Cython.Compiler.Code ...
Compiling module Cython.Runtime.refnanny ...
warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
warning: no files found matching '*.pxd' …Run Code Online (Sandbox Code Playgroud) 我有一个数组,它通过f2py从fortran子程序读取为1D数组.然后在python中,该数组被重新整形:
a=np.zeros(nx*ny*nz)
read_fortran_array(a)
a=a.reshape(nz,ny,nx) #in fortran, the order is a(nx,ny,nz), C/Python it is reversed
Run Code Online (Sandbox Code Playgroud)
现在我想将该数组作为3D数组传递回fortran.
some_data=fortran_routine(a)
Run Code Online (Sandbox Code Playgroud)
问题是f2py在传递给fortran_routine之前一直试图转置一个.fortran例程看起来像:
subroutine fortran_routine(nx,ny,nz,a,b)
real a
real b
integer nx,ny,nz
!f2py intent(hidden) nx,ny,nz
!f2py intent(in) a
!f2py intent(out) b
...
end subroutine
Run Code Online (Sandbox Code Playgroud)
如何防止所有来回移调?(我很高兴在两种语言中使用不同的数组索引约定).
编辑
似乎np.asfortranarray或者np.flags.f_contiguous应该在解决方案中有一些部分,我似乎无法弄清楚它是什么部分(或者可能是ravel后面的一个reshape(shape,order='F')?
编辑
看来这篇文章引起了一些混乱.这里的问题是f2py尝试保留索引方案而不是内存布局.所以,如果我有一个带有形状的numpy数组(按C顺序)(nz, ny, nx),那么f2py也会尝试使该数组(nz, ny, nx)在fortran中具有形状.如果f2py保留了内存布局,那么数组将(nz, ny, nx)在python和(nx, ny ,nz)fortran中具有形状.我想保留内存布局.
我有一个词典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
Run Code Online (Sandbox Code Playgroud)
我需要从密钥等于mykey1的所有字典中删除所有键值对.我可以通过循环并使用del语句来做到这一点,但我想知道如何使用列表推导或lambdas创建一个新列表,它将删除密钥为mykey1的所有键值对.
非常感谢
有没有办法在list每次修改列表时调用一个函数?
例如:
>>>l = [1, 2, 3]
>>>def callback():
print "list changed"
>>>apply_callback(l, callback) # Possible?
>>>l.append(4)
list changed
>>>l[0] = 5
list changed
>>>l.pop(0)
list changed
5
Run Code Online (Sandbox Code Playgroud) 抱歉模棱两可的标题.如果有人能想出更好的东西,请编辑一下让我知道.
最近,我删除了一个git存储库,并从服务器中检出了一个新的副本.不幸的是,当我这样做时,我忘记了我正在使用git-new-workdir(我以为我克隆了我的回购检查两次).现在我在"workdir"中无能为力:
$ git log
fatal: bad default revision 'HEAD'
Run Code Online (Sandbox Code Playgroud)
并且git status给予了比它应该做的更多的改变.有没有人对我如何解决这个问题有任何想法?
更多信息:
跑步git fsck给我以下内容:
$ git fsck
notice: HEAD points to an unborn branch (dipole_fix)
missing blob d92f4a4f53c95c375146d9623910d8ec214aa02f
missing blob 7d81095605082af3252a47b47d81e48d4a78a668
missing blob f5d21b7785c4bca4efaa91ce5ef5a8bd82d98792
missing blob 79d3ad61db697ca7e89dbfd089a472dab0a7851b
missing blob 2cf0e64cbc0a816d7dc1b26fef43c2eb7c4fb6ac
Run Code Online (Sandbox Code Playgroud)
对于它的价值,我确实有一个带dipole_fix分支的远程分支.它应该(相对)是最新的.
更新1 - 查看.gitworkdir 中的内容,似乎我有一些悬挂的符号链接.
lrwxrwxrwx 1 mgilson mgilson 39 2012-04-26 10:43 remotes -> /orig_repo/.git/remotes
lrwxrwxrwx 1 mgilson mgilson 40 2012-04-26 10:43 rr-cache -> /orig_repo/.git/rr-cache
lrwxrwxrwx 1 mgilson mgilson …Run Code Online (Sandbox Code Playgroud)