小编utd*_*ant的帖子

洗牌对象列表

我在Python中有一个对象列表,我想要将它们混洗.我以为我可以使用该random.shuffle方法,但当列表是对象时,这似乎失败了.是否有一种方法可以改变对象或其他方式?

import random

class A:
    foo = "bar"

a1 = a()
a2 = a()
b = [a1, a2]

print(random.shuffle(b))
Run Code Online (Sandbox Code Playgroud)

这将失败.

python random shuffle list

723
推荐指数
12
解决办法
90万
查看次数

Python垃圾收集

我创建了一些python代码,它在循环中创建一个对象,并在每次迭代中用相同类型的新对象覆盖该对象.这样做了10.000次,Python每秒占用7mb的内存,直到我使用3gb的RAM.有没有人知道从内存中删除对象的方法?

python optimization garbage-collection memory-management

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

运行ipython笔记本时pyzmq丢失了

我可以运行iPython,但是当我尝试启动笔记本时出现以下错误:

~  ipython notebook                   
Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 8, in <module>
    load_entry_point('ipython==2.1.0', 'console_scripts', 'ipython')()
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/__init__.py", line 120, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 563, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/terminal/ipapp.py", line 321, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/core/application.py", line 381, in initialize …
Run Code Online (Sandbox Code Playgroud)

python pip ipython easy-install

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

迭代Python中的多维数组

我在Python中创建了一个多维数组,如下所示:

self.cells = np.empty((r,c),dtype=np.object)
Run Code Online (Sandbox Code Playgroud)

现在我想迭代我的二维数组的所有元素,我不关心顺序.我该如何实现这一目标?

python arrays iteration numpy multidimensional-array

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

适用于iOS的Python(如RubyMotion)

RubyMotion已经发布了,我想知道,如果有类似的解决方案,或者是Python?

python rubymotion

24
推荐指数
1
解决办法
6017
查看次数

R中的泰勒近似

R中是否有一个函数/包,它取一个函数f和一个参数k,然后返回一个阶数为k的f的泰勒近似值?

r

12
推荐指数
2
解决办法
7733
查看次数

在Java中序列化对象时的StackOverflowError

我正在使用Swing编写Java应用程序.我正在尝试实现保存和加载模拟状态的功能,以便我正在运行的模拟.整个模拟作为对象保持不变,与Swing断开连接.我正在尝试使用以下代码序列化我的Simulation类:

public void saveSimulationState(String simulationFile) {
    try {
        Serializable object = this.sm;
        ObjectOutputStream objstream = new ObjectOutputStream(new FileOutputStream(simulationFile));
        objstream.writeObject(object);
        objstream.close();
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误(这是巨大的).

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
        at java.io.ObjectStreamClass.processQueue(ObjectStreamClass.java:2234)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:266)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.ArrayList.writeObject(ArrayList.java:570)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.ArrayList.writeObject(ArrayList.java:570)
        at …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow swing serialization

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

稀疏numpy数组的局部敏感散列

我有一个大的稀疏numpy/scipy矩阵,其中每一行对应于高维空间中的一个点.我想要进行以下类型的查询:

给定一个点P(矩阵中的行)和距离小量,找到距离的所有点,最小量P.

我使用的距离度量是Jaccard相似度,因此应该可以使用MinHash等Locality Sensitive Hashing技巧.

在某处(我似乎无法找到一个)稀疏numpy数组是否有MinHash的实现,或者有一种简单的方法可以做到这一点?

我不仅仅是为Github上的非稀疏数组提取内容的原因是scipy中的稀疏数据结构可能会导致时间复杂度的爆炸.

python numpy scipy locality-sensitive-hash

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

优化图形邻接的矢量化代码

我正在MATLAB中编写一些机器学习代码,我用一个邻接矩阵A表示一个图形,并用以下列方式定义矩阵Z的图形聚类.

答:如果节点i和节点j之间存在边缘,则a_ij为1.否则为0.Z:如果节点j在簇i中,则z_ij为1.否则为0.

我正在计算一个矩阵N,它是簇之间的边数,按以下方式定义:

N:n_ij是集群i中的节点与集群j中的节点之间的边数.n_ii是簇i内的边数.

N可以通过以下公式计算:

N = zAz'
Run Code Online (Sandbox Code Playgroud)

其中z'是z转置的.

如果我有很多节点,那么计算这需要一些时间,但这不是问题.问题是,我将节点从群集移动到群集很多次,每次我想要计算N.

所以问题如下:鉴于我知道N,然后我将节点i从集群c_1移动到集群c_2,如何以有效的方式更新N?

algorithm optimization matlab graph-theory matrix

6
推荐指数
1
解决办法
312
查看次数

使用C从文件中读取int

这是一个非常简单的问题,但我似乎无法在这里找到一些相关信息.我想从C文件中读取两个整数.我的代码现在是这样的:

int main() {
    FILE *fp;
    int s[80];
    int t;

    if((fp=fopen("numbers", "r")) == NULL) {
        printf("Cannot open file.\n");
    } else {
        fscanf(fp, "%d%d", s, &t);
        printf("%d %d\n", s[0], s[1]);
    }

return 0;
}
Run Code Online (Sandbox Code Playgroud)

我从文件中得到第一个整数,但下一个只是一个随机数.我的文件是这样的:

100 54
Run Code Online (Sandbox Code Playgroud)

提前致谢

c io file

2
推荐指数
1
解决办法
1833
查看次数

C++编译 - x86_64上的GSL

我正在尝试编译以下代码:http://www-personal.umich.edu/~mejn/dcbm/KLOptimization.cpp

但是我从g ++收到以下错误消息:

> Undefined symbols for architecture x86_64:   "_gsl_rng_uniform_int",
> referenced from:
>       Initialize()     in ccDEqovL.o
>       _main in ccDEqovL.o   "_gsl_rng_default_seed", referenced from:
>       _main in ccDEqovL.o   "_gsl_rng_default", referenced from:
>       _main in ccDEqovL.o   "_gsl_rng_alloc", referenced from:
>       _main in ccDEqovL.o   "_gsl_rng_name", referenced from:
>       _main in ccDEqovL.o   "_gsl_rng_get", referenced from:
>       _main in ccDEqovL.o   "_gsl_rng_uniform", referenced from:
>       _main in ccDEqovL.o   "ComputeVI()", referenced from:
>       _main in ccDEqovL.o   "ComputeNMI()", referenced from:
>       _main in ccDEqovL.o …
Run Code Online (Sandbox Code Playgroud)

c++ macos compilation gsl

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