python - python 2.7中列表索引超出范围

标签 python python-2.7 fft

我需要使用傅里叶变换在 python 中创建一个程序。它说:列出索引超出范围,我不明白为什么。错误出现在这些行:

Feven = fft([x[i] for i in xrange(0, n, 2)],n/2)
Fodd = fft([x[i] for i in xrange(1, n, 2)],n/2)

最佳答案

您是否尝试过将列表编译与函数调用分开来找出引发异常的位置?

# assuming n <= len(x)
even = [x[i] for i in xrange(0, n, 2)]
Feven = fft(even,n/2)

您还可以使用切片来获取列表中的每个第二个元素:

even = x[::2]
odd = x[1::2]

关于python - python 2.7中列表索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457137/

相关文章:

android - 在 android 中使用 jtransform 时出现异常 - java.lang.NoClassDefFoundError : edu. emory.mathcs.jtransforms.fft.DoubleFFt_1D

python - 如何绘制频谱的离散傅立叶图

python - Twisted Python 中的 TLS - 如何创建 server.pem?

javascript - 这是WebSocket的正常使用还是低级的使用?

sql - 使用 python pymssql 将二进制文件插入 MSSQL db (varbinary)

python - 将 OrderedDict 转换为 python 中的集合

python - 如何访问列表字典中的每个元素?

MATLAB FFT xaxis限制了困惑和fftshift

python - 向列表中添加值

python - 线性方程的系数错误