Как сформировать список из выдачи python
user_json = json.loads(r.text)
for i in user_json['result']:
try:
list =[]
arr2 = i['owner_products'][0]['id'], i['ip'].split(';')
list.append(arr2)
print(arr2)
except:
pass
Исходный вид:
{'result': [{'serial_number': '2112ALSN0J8000014', 'location_key': None, 'type': 'TYPE_HARDWARE_SERVER', 'os': 'Linux', 'owner_products': [{'name': 'ЭЧ', 'id': 11}], 'own': True, 'i_id': 1406824, 'dat_name': '', 'id': 553, 'ip': '10.0.0.56;172.15.217.56', 'hostname': 'test', 'model': 'Huawei'}
Вывод:
(11, ['10.0.0.56', '172.15.217.56'])
А мне надо:
[(11, '172.15.217.56')]
[(11, '10.0.0.56')]
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Странное вы что-то хотите, зачем вам кортежи внутри списков, например? Ну да ладно, пусть будет:
for i in user_json['result']:
try:
lst =[]
id_ = i['owner_products'][0]['id']
for ip in i['ip'].split(';'):
arr2 = [(id_, ip)]
lst.append(arr2)
print(arr2)
except:
pass
Вывод:
[(11, '10.0.0.56')]
[(11, '172.15.217.56')]
Содержимое lst в итоге:
[[(11, '10.0.0.56')], [(11, '172.15.217.56')]]