У меня есть три кортежа, listA
, listB
и listC
.
Важно, чтобы в каждом списке каждое значение содержало тот же индекс, что и их начальные соответствующие значения в двух других списках.
У меня есть два условия, одно для listA
и одно для listB
. Я хотел бы удалить все значения в listA
, которые не удовлетворяют условию listA
, и удалить все значения в listB
, которые не удовлетворяют условиям listB, и чтобы все значения с такими же индексами эти удаленные значения во всех трех списках также удаляются.
Это будет включать удаление некоторых значений, которые удовлетворяют условиям listA
из listA
и т. Д., Если условие listB
не выполняется. Таким образом, в результате получается три списка, все значения которых по отдельности удовлетворяют условию их собственного списка (хотя listC
не имеет условия), и значения имеют такое же соединение, как и изначально.
Мне удалось сделать это путем перебора списка с использованием цикла for, пример того, как я это сделал, показан ниже, условие, наложенное на listA, равно x <10, а для listB - x> 20. Я знаю, что есть намного более изящные и питонные методы для этого с использованием zip и фильтрации, однако я до сих пор не смог заставить их работать. Я не очень опытный программист, поэтому любая помощь будет принята с благодарностью.
listA=(15,5,2,8,10,11,4,8)
listB=(19,25,28,14,32,10,21,29)
listC=(0,9,13,4,19,51,83,13)
listAA=[]
listBB=[]
listCC=[]
for i in range(len(listA)):
if listA[i]<10:
if listB[i]>20:
listAA.append(listA[i])
listBB.append(listB[i])
listCC.append(listC[i])
else:
continue
else:
continue
print(listAA,listBB,listCC)