Список кортежа от dict в Python [дубликат]

Мы недавно сделали изрядное количество сравнения Velocity и Memcached. В ореховой скорлупе мы нашли, что Скорость была 3x - 5x медленнее, чем Memcached, и (еще более кардинально) это в настоящее время не имеет поддержки мультиполучить операции. Таким образом, в данный момент я рекомендовал бы идти с Memcached. Кроме того, другой урок, который мы извлекли, был то, что самая медленная операция в распределенном кэшировании является сериализацией и десериализацией (по крайней мере, в ASP.NET). Незавершенный кэш ASP.NET является порядком величин быстрее. Таким образом, необходимо выбрать кэширующиеся стратегии намного более тщательно.

41
задан Peter Mortensen 19 November 2012 в 22:21
поделиться

3 ответа

Только для Python 2.x (спасибо Алекс):

yourdict = {}
# ...
items = yourdict.items()

См. http://docs.python.org/library/stdtypes.html#dict.items для подробностей.

Только для Python 3.x (взято из Ответ Алекса ):

yourdict = {}
# ...
items = list(yourdict.items())
72
ответ дан 27 November 2019 в 00:26
поделиться

В Python 2. * , thedict.items () , как в ответе @ Andrew. В Python 3. * , list (thedict.items ()) (поскольку там items - это просто повторяющееся представление, а не список, вам нужно вызвать явно укажите в нем , если вам нужен именно список).

5
ответ дан 27 November 2019 в 00:26
поделиться

Для списка кортежей:

my_dict.items()

Однако если все, что вы делаете, это итерация по элементам, часто предпочтительнее использовать dict.iteritems () , который более эффективен с точки зрения памяти, поскольку возвращает только один элемент за раз, а не все элементы сразу:

for key,value in my_dict.iteritems():
     #do stuff
9
ответ дан 27 November 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: