我正在尝试从满足某些条件的列表中删除元素
我尝试遍历列表的长度,但是当我删除元素时,长度会发生变化,最终导致索引超出范围。我也尝试过向后遍历该列表,但没有得到预期的结果。
rho = 1.3
int_list = [(1, 1), (-1, 7), (1, 10), (-1, 12), (-1, 15), (1, 20)]
for i in range(0, len(int_list)):
if (int_list[i][0] == 1) and (int_list[i+1][0] == -1):
if int_list[i+1][1] / int_list[i][1] < rho:
del int_list[i]
del int_list[i]
在上面给出的示例中,由于int_list[2][0] = 1
和int_list[3][0] = -1
以及12 / 10 = 1.2 < 1.3
,包含10的坐标和包含12的坐标都应删除。因此,预期输出是原始列表,其中删除了元素int_list [2]和int_list [3]。