Ho un dizionario, pieno di elementi. Voglio dare un'occhiata a un singolo oggetto arbitrario:Modo Pythonic per accedere all'elemento arbitrario dal dizionario
print "Amongst our dictionary's items are such diverse elements as: %s" % arb(dictionary)
Non mi interessa quale elemento. Non è necessario che sia casuale.
Posso pensare a molti modi di implementarlo, ma sembrano tutti sprechi. Mi chiedo se alcuni siano idiomi preferiti in Python, o (ancora meglio) se ne manchi uno.
def arb(dictionary):
# Creates an entire list in memory. Could take a while.
return list(dictionary.values())[0]
def arb(dictionary):
# Creates an entire interator. An improvement.
for item in dictionary.itervalues():
return item
def arb(dictionary):
# No iterator, but writes to the dictionary! Twice!
key, value = dictionary.popitem()
dictionary[key] = value
return value
io sono in una posizione in cui la prestazione non è abbastanza fondamentale che questo importa (ancora), così posso essere accusato di ottimizzazione prematura, ma sto cercando di migliorare il mio stile di codifica Python, quindi se c'è una variante facilmente comprensibile, sarebbe bene adottarla.
Che dire di 'dictionary.itervalues (). Next()'? Sarebbe almeno meglio della tua seconda funzione "arb". – srgerg
@sgerg Stavo per presentarlo ma tu vai avanti. : D – jamylak
Devono essere diversi per tutta la chiamata?Tutto ciò restituirà lo stesso elemento ... –