Pythonic sposób na dostęp do dowolnego elementu ze słownika
Mam słownik pełen przedmiotów. Chcę rzucić okiem na pojedynczy, dowolny element:
print "Amongst our dictionary's items are such diverse elements as: %s" % arb(dictionary)
Nie obchodzi mnie, który przedmiot. Nie musi tak byćlosowy.
Mogę wymyślić wiele sposobów realizacji tego, ale wszystkie wydają się marnotrawne. Zastanawiam się, czy w Pythonie są jakieś preferowane idiomy, lub (nawet lepiej), jeśli go brakuje.
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
Jestem w sytuacji, w której wydajność nie jest wystarczająco krytyczna, aby to miało znaczenie (jeszcze), więc mogę zostać oskarżony o przedwczesną optymalizację, ale próbuję poprawić mój styl kodowania w Pythonie, więc jeśli istnieje łatwo zrozumiały wariant, dobrze byłoby go przyjąć.