考虑所有长度列表,n其中值是整数range 0 to n-1.我想尽可能快地迭代每个可能只有一个副本的列表.如果n = 2那么可能的列表是:
00
11
Run Code Online (Sandbox Code Playgroud)
如果n = 3他们是:
001
002
110
112
220
221
100
200
011
211
022
122
010
020
101
121
202
212
Run Code Online (Sandbox Code Playgroud)
这样的列表的总数是n! * (n choose 2)如此,我希望尽可能避免将它们全部存储在内存中.
对于每个列表,我想调用一个计算列表功能的函数.
这样做的好方法是什么?
基准测试在我的计算机上,我得到以下基准测试结果
timeit all(one_duplicate(6))
100 loops, best of 3: 6.87 ms per loops
timeit all(one_duplicate(7))
10 loops, best of 3: 59 ms per loop
timeit all(one_duplicate(8))
1 loops, best of 3: 690 ms per …Run Code Online (Sandbox Code Playgroud) 我试图直接从python 2.7.3(使用ubuntu)中的mp3文件绘制一个视频.我可以从wav文件中执行以下操作.
#!/usr/bin/python
from scikits.audiolab import wavread
from pylab import *
signal, fs, enc = wavread('XC124158.wav')
specgram(signal)
show()
Run Code Online (Sandbox Code Playgroud)
从mp3文件而不是wav做同样事情最干净的方法是什么?如果我可以避免它,我不想将所有mp3文件转换为wav.