Организовать данные в разделы, используя для цикла - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь организовать эти данные по разделам:

for device in devices:
        if device['aaa'] == 'offline':
            print(device['aaa'] + ' is down1')
        if device['bbb'] == False:
            print(device['bbb'] + ' is down2')
        if device['ccc'] == None:
            print(device['ccc'] + ' down3')
        if device['ddd'] == None:
            print(device['ddd'] + ' is down4')

Мой результат выглядит следующим образом:

ААА вниз 3 bbb идет вниз1 ааа вниз2 ааа не работает1 BBB вниз 2

тогда как я хочу, чтобы это было организовано:

Устройство aaa: выключено1, выключено2, выключено3 Устройство bbb: вниз1, вниз3

1 Ответ

0 голосов
/ 28 января 2020

Вы можете использовать словарь со списком в качестве значений.

result = {}
for device in devices:
        if device['aaa'] == 'offline':
            if device['aaa'] in result:
                result[device['aaa']].append(' is down1')
            else:
                result[device['aaa']] = [' is down1']
        if device['bbb'] == False:
            if device['bbb'] in result:
                result[device['bbb']].append(' is down2')
            else:
                result[device['bbb']] = [' is down2']
        if device['ccc'] == None:
            if device['ccc'] in result:
                result[device['ccc']].append(' is down3')
            else:
                result[device['ccc']] = [' is down3']
        if device['ddd'] == None:
            if device['ddd'] in result:
                result[device['ddd']].append(' is down4')
            else:
                result[device['ddd']] = [' is down4']

print(result)
...