Sequenza disimballaggio:
singleitem, = mylist
# Identical in behavior (byte code produced is the same),
# but arguably more readable since a lone trailing comma could be missed:
[singleitem] = mylist
uso esplicito protocollo iteratore:
singleitem = next(iter(mylist))
distruttivo pop:
singleitem = mylist.pop()
indice negativo:
singleitem = mylist[-1]
impostato tramite singola iterazione for
(perché la variabile loop rimane disponibile con l'ultimo valore quando un ciclo termina):
for singleitem in mylist: break
Molti altri (conciliano o variabile bit di cui sopra, o altrimenti basandosi su iterazione implicita) , ma tu hai l'idea.
Ci possono essere alternative, ma di solito c'è solo un * ovvio * modo per farlo - e, in questo caso, sembra che tu l'abbia già trovato. – ekhumoro
se * sempre * contiene un singolo elemento, allora forse un 'elenco' non è il miglior tipo di dati? –
@ekhumoro: In realtà sono parziale al metodo di spacchettamento della sequenza, perché verifica l'ipotesi che la sequenza abbia un solo elemento. 'mylist [0]' ha successo quando hai almeno un elemento, ma non si lamenta se hai effettivamente 30 elementi. 'singleitem, = mylist' verifica che tu abbia esattamente un elemento, né più né meno. – ShadowRanger