在python中从numpy或list中删除元素
所以我正在生成曲线的图像。我用傅里叶级数的前几个模式(在每个余弦函数上使用随机选择的振幅)构建线,然后从曲线的傅里叶级数生成x和y值列表。但现在我想用我自己的方式来画y和x,因为我需要很多控制,而pyplot在幕后做的太多了 所以我将我的x和y向量(1D numpy数组)转换成整数,所以现在它们指的是像素位置(所有东西都经过缩放以适应128x128 img窗口)。现在,我想消除向量中的冗余(即,只要有重复的x和y值,我想从x向量中删除x,从y向量中删除y) 目前,x和y位于两个不同的向量中。将它们保持为有序对的单个向量会更好吗?然后就是移除冗余有序对的问题 不管怎样,消除冗余的理想途径是什么。我觉得这一次我是在绕着灌木丛(蒂希)编码,肯定有一条简单的蟒蛇路线在python中从numpy或list中删除元素,python,list,Python,List,所以我正在生成曲线的图像。我用傅里叶级数的前几个模式(在每个余弦函数上使用随机选择的振幅)构建线,然后从曲线的傅里叶级数生成x和y值列表。但现在我想用我自己的方式来画y和x,因为我需要很多控制,而pyplot在幕后做的太多了 所以我将我的x和y向量(1D numpy数组)转换成整数,所以现在它们指的是像素位置(所有东西都经过缩放以适应128x128 img窗口)。现在,我想消除向量中的冗余(即,只要有重复的x和y值,我想从x向量中删除x,从y向量中删除y) 目前,x和y位于两个不同的向量中。将它
谢谢大家。我认为最好保持点成对(元组)。如果您不想重写所有代码,只需进行一些测试,请使用两个数组来获取点列表:
points = zip(x_list, y_list)
现在您已经有了点列表,从点列表生成一个列表(它将自动抛出重复对),然后再次获得一个列表:
points = list(set(points))
删除冗余的有序对是非常简单的,list(set(l)),我肯定会这么做。压缩成对的数据也很简单——压缩(a,b)