Sto cercando di imparare pulito modi divinatorio di fare le cose, e si chiedeva il motivo per cui il mio ciclo for non può essere riscritta in questo modo:linea per il ciclo
q = [1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5]
vm = [-1, -1, -1, -1]
for v in vm:
if v in q:
p.append(q.index(v))
else:
p.append(99999)
vm[p.index(max(p))] = i
Ho provato a sostituire il ciclo for con:
[p.append(q.index(v)) if v in q else p.append(99999) for v in vm]
Ma non funziona. Il ciclo for v in vm:
elabora i numeri da vm
in base a quando vengono successivamente in q
.
si consiglia di utilizzare - 1 invece di 99999 per un flag di un valore inesistente (quindi funzionerebbe anche per un elenco con 99999+ elementi) –
l'elenco completo funzionerà ma restituirà gli elenchi di Nessuno anche – Hackaholic
Ho usato 99999 invece di -1 perché più tardi ho eseguito devono essere selezionati valori max (p) e inesistenti. – Will