(Как) Создание подмассива из словарей зависит от того, существует ли определенный ключ - PullRequest
0 голосов
/ 04 июля 2018
subarray = []
for dic in dics:
    if "TargetKey" in dic:
        subarray.append(dic)

Это единственное, о чем я могу думать сейчас, как объединить их в одну строку?
например. Мне нравится этот стиль: [dics["TargetKey"] for dic in dics]

Попытка избежать создания новой переменной массива, поскольку мне нужно использовать только один раз.

Признательна за любое продвинутое использование, изучая больше ярлыков в python

Ответы [ 2 ]

0 голосов
/ 04 июля 2018
subarray = list(filter(lambda x: 'TargetKey' in x,dics))
0 голосов
/ 04 июля 2018

Если вы настаиваете на одном вкладыше:

subarray = [dic for dic in dics if "TargetKey" in dic]

Вы можете использовать условные выражения в списках. Если вы собираетесь использовать это один раз и повторить, используйте генератор:

subarray = (dic for dic in dics if "TargetKey" in dic)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...