java - 在python for循环中使用什么代替list - java的傅立叶示例
问题描述
我正在尝试在 Python 中手动编写傅立叶变换,但在 Python 方面的经验比在 Java 方面的经验要少。
我假设列表不是在 for 循环中使用的最佳选择,并且我还假设这段代码不是非常 Pythonic,并且对于我正在尝试做的事情可能有更好的语法。
我输入一个简单的测试=[10, 10, 10, -10, -10, -10, 10, 10, 10, -10, -10,-10]
我得到错误 'list' 对象属性 'instert' 是只读的。
什么数据类型会更好?
import math
pi = math.pi
def dft(x):
X=[]
N = len(x)
re = 0
im = 0
for k in range(0,N):
for n in range(0,N):
phi = (2*pi*k*n)/N
re += (x[n]*math.cos(phi))
im -= (x[n]*math.sin(phi))
re = re/N
im = im/N
h = (re, im)
X.insert = (k,h) #object with real and imaginary component
return (X)
解决方案
一份清单就好了。
X.insert = (k,h)
正在尝试将元组 (k,h) 分配给 的insert
属性X
。您想改为调用该insert
方法。
X.insert(k,h)
注意:您还需要检查缩进。该语句当前不在循环内。
推荐阅读
- flutter - Flutter Web:如何压缩图像/文件?
- chef-infra - 如何避免厨师独奏将文件从站点食谱复制到食谱文件夹?
- python - Geopandas每行不同的crs?
- python - 使用 python 打开终端并在 docker 中运行命令
- javascript - 在 Blazor 服务器端中,如何检测用户是否尝试离开当前页面
- python - 如何在 Tensorflow 2 LSTM 训练中屏蔽多输出?
- html - 引导导入影响所有其他 CSS 设计
- javascript - 如何测试测试中的负面行为?就像调用 API 失败一样
- node.js - 托管在 Heroku 上的 React 应用程序抛出 500 服务器错误
- php - 学习 PHP:尝试使用 CREATE DATABASE IF NOT EXISTS 添加新数据库 // 出错 SQLSTATE[HY000] [1049] base unknow