나는 항목이 가득한 사전이 있습니다. 하나의 임의 항목을 들여다보고 싶습니다.사전에서 임의의 요소에 액세스 할 Pythonic 방법
print "Amongst our dictionary's items are such diverse elements as: %s" % arb(dictionary)
어떤 항목에 상관하지 않습니다. 임의로 일 필요는 없습니다.
나는 이것을 구현하는 여러 가지 방법을 생각할 수 있지만 모두 낭비되는 것 같습니다. 파이썬에서 선호하는 숙어가 있는지 궁금하다. 하나라도 빠뜨린다면 파이썬에서 선호하는 관용구가 있는지 궁금하다.
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
나는 성능이 충분히 위험 (아직)이 문제는, 그래서이 조기 최적화 비난 할 수없는 위치에있어,하지만 난, 그래서 만약 내 파이썬 코딩 스타일을 개선하기 위해 노력하고 있어요 쉽게 이해할 수있는 변종이있다. 그것을 채택하는 것이 좋을 것이다. 이것은 파이썬 3에서뿐만 아니라 파이썬 2에서 작동하지만, 파이썬 2에서이 같이 그렇게하는 것이 더 효율적이다
return next(iter(dictionary.values()))
: 내 생각에, 두 번째 솔루션 비슷하지만 약간 더 분명
'dictionary.itervalues (). next()는 어떨까요? 적어도 두 번째'arb' 함수보다 좋을 것입니다. – srgerg
@sgerg 제출할 예정 이었지만 앞으로 나아갈 것입니다. : D – jamylak
그들은 전화를 통해 다른 항목이 필요합니까?이 모든 것들은 같은 항목을 반환 할 것입니다 ... –