Почему цепочечный словарь.get() в python возвращает кортеж, если по умолчанию не кортеж?
Python 2.6.6, когда я вызываю.get для результатов.get, результатом является кортеж. Это не имеет смысла для меня. Пример:
box = {}.get('test1',{}).get('test2','hrmm'),
print type(box)
распечатывает
<type 'tuple'>
это не имеет смысла для меня. ясно, что по умолчанию во втором get это простая строка. так что дает? спасибо за понимание
2 ответа
Решение
У вас есть запятая в конце строки, поэтому вы получаете результат {}.get('test1',{}).get('test2','hrmm')
в кортеже из одного элемента.
Вот пример того, как это работает с простым литералом:
>>> box = 1,
>>> box
(1,)
>>> type(box)
<type 'tuple'>