我在从数组列表中删除范围A到B的元素时遇到问题。我在网上搜索的解决方案似乎只适用于单个元素、相邻元素和或整数元素。我在处理浮点数。
1
2
3
4
5
6
7self.genx = np.arange(0, 5, 0.1)
temp_select = self.genx[1:3] #I want to remove numbers from 1 - 3 from genx
print(temp_select)
self.genx = list(set(self.genx)-set(temp_select))
print(self.genx)
plt.plot(self.genx,self.geny)
然而,我在控制台中得到了以下信息,这是因为我减去了浮点数而不是整数,所以它实际上减去了而不是删除了处理整数时要做的事情:
genx:[0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,4.4,4.5、4.6、4.7、4.8、4.9条]
温度选择:[0.1 0.2]
genx(减去后):[0.0,0.5,2.0,3.0,4.0,1.5,1.0,1.1000000000001,0.7000000000000007,0.900000000000000000002,2.70000000000002,0.30000000000000004,2.900000000000004,1.900000000000001,3.30000000000000003,0.40000000000000000000002,4.700000000000000000002,3.4000000000000000004,2.20000000000000002,2.8000000000000000000000003,1.4000000000000000000,0.600000000000000 9、3.6000000000000001、1.3、1.200000000002、4.2999999999998、4.20000000000000002、4.900000000000004、3.900000000000004、3.800000000000003、2.30000000000000003、4.800000000000007、3.20000000000000002、1.700000000000002、2.5、3.5、1.8、4.10000000000000000000005、2.40000000000004、4.4000000000000000004、1.600000000000000000001、0.8000000000000004、2.6000000000000001、4.6000000000000005、2.100000000000000001、3.10000000000000001、3.700000000000002、4.5]
请注意,方括号[]用于基于索引的访问。self.genx[1:3]是指"self.genx的第一和第二元素"。这与这些索引的值存储完全无关。
1self.genx = [ item for item in self.genx if not range_min <= item <= range_max ]
这就是你想要的吗??
我没有测试这个,但是你应该能够做如下的事情:
1self.genx = [ item for item in self.genx if not range_min < item < range_max ]
这很管用!不过,它会把数字四舍五入。因此,如果我设置min=2,max=4,genx是:[0.0,0.100000000000000001,0.2000000000001,0.30000000000000004,0.40000000000000002,0.5,0.6000000000000009,0.700000000000007,0.800000000000004,0.9000000000000002,1.0,1.100000000000000001,1.2000000000002,1.3,1.4000000000000000001,1.5,1.60000000000000001,1.70000000000000000002,1.8,1.9000000000000001,2.0,4.0,4.10000000000005,4.200000000002,4.2999999999998,4.40000000000000004,4.5,4.6000000000000005,4.700000000000002,4.800000000000007,4.900000000000004]可修复?