Как проанализировать несколько значений с одним и тем же объектом? - PullRequest
0 голосов
/ 22 мая 2019

Я хочу проанализировать голос пользователя из ответа json и отправить электронное письмо этим идентификаторам с помощью python2.7

Я могу отправить его одному пользователю, но не уверен, как встроить несколько пользователей

role = {
    "permissions": [],
    "principals": [
        {
            "username": "EP@google.com",
            "fullname": "null"
        },
        {
            "username": "pE@google.com",
            "fullname": "null"
        }
    ]
}

role = json.loads(role)
for item in role['principals']:
    p = item['username']
    print(p)

Это печать, как показано ниже:

EP@google.com
pE@google.com

Ожидаемый результат:

['EP@google.com','pE@google.com']

1 Ответ

1 голос
/ 22 мая 2019

Вы можете использовать понимание списка:

p = [item['username'] for item in role['principals']]
print(p)

Безопасный вариант (не вызывает ошибку, если ключ не существует):

result = []
for item in role.get('principals', []):
    p = item.get('username', None)
    if p:
        result.append(p)
print(result)

Понимание безопасного списка:

result = [item['username'] for item in role.get('principals', []) if 'username' in item]
...