Извлечь подмножество пар ключ-значение из объекта словаря Python?

Люди главным образом используют подпрограммы распределения для выделения места для количества набора объектов, таким образом calloc() признает что быть указанным приятно. Так, например, если Вы хотите пространство для 100 целых чисел или 20 из Вашей собственной структуры:

int *pInt = calloc (100, sizeof(int));
tMyStruct *pMyStruct = calloc (20, sizeof(tMyStruct));

Этот код на самом деле выглядит немного "более хорошим", чем эквивалент malloc() вызовы:

int *pInt = malloc (100 * sizeof(int));
tMyStruct *pMyStruct = malloc (20 * sizeof(tMyStruct));

, хотя закаленным кодерам C нет никакого реального различия (кроме нулевой инициализации, конечно).

я должен сказать, что имею никогда , использовал calloc в дикой природе, так как я почти всегда создаю struct, где нуль не имеет смысла. Я предпочитаю инициализировать все поля вручную, чтобы гарантировать, чтобы я получил значения, которые я хочу.

277
задан dreftymac 10 July 2018 в 09:49
поделиться

1 ответ

Можно извлечь пар, Вы хотите использовать итератор необходимых ключей:

>>> base = dict( a=1, b=2, c=3, d=4, e=5, f=6, g=7 )
>>> required = { 'a', 'c', 'g' } # or anything containing the required keys
>>> subdict = base.fromkeys( required )
>>> subdict
{'g': 7, 'a': 1, 'c': 3}

Должно быть быстрее, чем что-нибудь ранее обеспечило. ;)

-1
ответ дан 29 August 2019 в 12:30
поделиться
Другие вопросы по тегам:

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