Случай выглядит следующим образом: я создал код, который на основе некоторых критериев дает мне печатный список для каждого экрана.
data = [[ 17, 0, 0, 0, 2.5, 'A+', 450],
[ 18, 5, 0, 5, 2.5, 'A+', 450],
[ 19, 9, 0, 9, 2.5, 'A+', 450],
[ 20, 0, 2.5, 0, 5, 'A+', 450],
[ 21, 5, 2.5, 5, 5, 'A+', 450],
[ 22, 0, 2.5, 5, 2.5, 'B-', 400],
[ 23, 5, 2.5, 9, 2.5, 'B-', 400],
[ 24, 0, 5, 5, 5, 'B-', 400]]
pairs = []
for i in range(len(data)):
for j in range(len(data)):
if data[i][3] == data[j][1] and data[i][4] == data[j][2]:
pairs.append([data[i][0], data[j][0]])
# if data[i][5] == 'B-' and data[i][5] == data[i+1][5]:
# pairs.append([data[i][0], data[j][0]])
print(pairs)
Но теперь я хочу удалить - в данном случае - список, содержащий пару [22, 23], поскольку он удовлетворяет 2 условиям:
- Первое - это 2 последовательных числа.
- Второе - оба имеют тип 'B-' (data [i] [5] = 'B -')
Я хочу удалить только те, которые соответствуют этим двум условиям, список будет похож на это (в иллюстративных целях):
[[17, 20], [17, 22], [18, 21], [18, 23], [20, 24], [22, 21]]
Я попытался создать с другим условным условием, в котором я включаю упомянутые точки, но у меня есть ошибки индексации, я думаю, что есть способ исправить это, я был бы очень признателен за ваше Помогите. С уважением