Bu kodu kısaca anlamanın bir yol kavrayışını kullanmanın bir yolu olup olmadığını merak ediyordum. Döngüde son ltemleri çalıştırdığım her zaman bunları kullanmaya çalıştım. Denediğim bu.python 3.x bir listeyi ekleyin ve eski listeden çıkartın
list2 = [i for i in list1 if i[0] == counter]
Geliştirmek istediğim kod İşte.
list1 = [(1,4),(2,5),(3,6),(4,6),(5,6),(6,7),(7,5),(8,6),(9,4)]
list2 = []
counter = 0
while counter != 10:
for i in list1:
if i[0] == counter:
list2.append(i)
for j in list2:
if j in list1:
list1.remove(j)
counter += 1
herhangi bir yardım
Düzenleme için teşekkür ederiz. Burada biraz daha fazla kod vermeliydim. Sayaç == i [1] olduğunda list2 tarafından doldurulacak başka bir liste olacaktır.
list1[:] = [i for i in list1 if i not in list2]
Bilmek istediğiniz herhangi bir liste anlama kullanmanın yolu (ya da bir şey daha önce görmedim) alabilir yoktur list1 ben öğeleri kaldırmak için kullanılan döngü değiştirmek için bu liste anlama kullanmış for döngüsü listelerini bir satıra eklemek için kullanılır?
list1 = [(1,4),(2,5),(3,6),(4,6),(5,6),(6,7),(7,5),(8,6),(9,4)]
list2 = []
list3 = []
counter = 0
while counter != 10:
for i in list1:
if i[0] == counter:
list2.append(i)
for j in list2:
if j in list1:
list1.remove(j)
for x in list2:
if x[1] == counter:
list3.append(i)
for y in list3:
if y in list2:
list1.remove(y)
counter += 1
'list1' ve' list2' için beklenen sonucu gönderir misiniz? – MaxU
List1 'her zaman sonunda boş bırakılmamalıdır? – schwobaseggl
IMO, bunu şu şekilde yapabilirsiniz: 'list2, list1 = list1 [: 11], list1 [10:]' – MaxU