Дмитрий
Тут чё чат обучения питона сегодня?
Дмитрий
;)
Ilya
Тут чё чат обучения питона сегодня?
Вчера уже выяснили, что в обычной квартире можно держать до 4х метров питона
Дмитрий
Мне дали бетку нового Клауд вижена
vitex
а
usser['autoLogin']['addresses']['value'] это же всегда список даже если айпи нет? тогда как я написал будет работать
Plus
ну сделай user_to_ip_map = {} снаружи
т.е. я сначала типа создаю пустой словарик а потом по потом внутри user_to_map[user] = ip заполняю уже в цикле
Plus
?
Evgeniy
именно
Plus
usser['autoLogin']['addresses']['value'] это же всегда список даже если айпи нет? тогда как я написал будет работать
почти, если нет ip то секции в джейсон словаре ответном не прилетает вообще
Plus
вот этой "addresses": { "enabled": true, "value": [ "192.168.1.1" ]
vitex
это важно
Plus
это важно
ошибка скрипта ?
Evgeniy
ошибка скрипта ?
не. покажи json
Evgeniy
json
чот мне кажется там прост value нету
Plus
а не обманул
Plus
если нет ip то вот так : "addresses": { "enabled": false, "value": [] },
Evgeniy
ну тогда норм
vitex
если нет ip то вот так : "addresses": { "enabled": false, "value": [] },
то есть всегда список ок тогда как я написал,  через iter ipuser = next(iter(usser['autoLogin']['addresses']['value']), None)
Plus
так типа правильнее или разницы особо нет ?
vitex
ну тогда норм
было бы проще если б вообще не было можно было бы addresses.get('value')
vitex
если нет ip то вот так : "addresses": { "enabled": false, "value": [] },
вместо None можешь поставить '' ну или что захочешь
Plus
ну тогда норм
чет со словарем не получается %)
Evgeniy
Код покажи
Plus
user_to_ip_map = {} - перед for
Plus
user_to_ip_map[user]=ipuser после последнего принта
Evgeniy
ну ты после этого print(user_to_ip_map) сделай
Evgeniy
и покажи вывод
vitex
вот вы конвертациии какие то когда все в одну строку можно сделать какие то непитонисты совсем @darwinggl че творится блин
Plus
и покажи вывод
эм File "test.py", line 43, in userlists user_to_ip_map[user]=ipuser NameError: name 'user' is not defined
Evgeniy
класс )
Evgeniy
ну у тебя юзер в grepusr
Evgeniy
же
Andrew
давай срочно на Go!
Plus
ну у тебя юзер в grepusr
а точно, а ip аналогично пихать только вместо user ip ?
Plus
или он сразу парой значения пихать будет ?
vitex
давай срочно на Go!
да вот надо бы но мозг развращен динамической типизацией
Plus
user_to_ip_map[user]=grepusr print(user_to_ip_map)
Plus
File "test.py", line 43, in userlists user_to_ip_map[user]=grepusr NameError: name 'user' is not defined
Plus
все равно ошибка
Evgeniy
[grepuser] = ipuser
vitex
user_to_ip_map[user]=grepusr print(user_to_ip_map)
у тебя переменная user где?
vitex
ее нет
Evgeniy
но ваще можно проще
vitex
File "test.py", line 43, in userlists user_to_ip_map[user]=grepusr NameError: name 'user' is not defined
>>NameError: name 'user' is not defined нет такой переменной пишут же
Plus
получилось
Plus
'Фамилия': ['192.168.41.1],
Plus
:)
Evgeniy
user_to_ip_map = { item['credentials']['userName'] : next(iter(item['autoLogin']['addresses']['value']), None) for item in usr["result"]["list"] }
Plus
Фамилия - это имя пользователя )))))
Evgeniy
как-то так должно быть
Plus
а т.е не выносить в разные строки а сразу все без переменных фигачить ?
Evgeniy
ну
Evgeniy
там можно ели че иф еще приделать в конце
Plus
а как же проверка если ip нет ?
Evgeniy
ну тут будут ноне
Plus
ааа по второму пути
Evgeniy
user_to_ip_map = { item['credentials']['userName'] : item['autoLogin']['addresses']['value'][0]) for item in usr["result"]["list"] if item['autoLogin']['addresses']['value']))}
Evgeniy
чет такое должно сработать тож
Evgeniy
гавнокод
Plus
емае... т.е. весь цикл сразу в словарь ? )%)
Evgeniy
ага
Plus
а так можно чтоли )))?
Evgeniy
а почему нет то
Plus
так по идее должно быть быстрее даже
Plus
File "test.py", line 37, in userlists ipuser = next(iter(usser['autoLogin']['addresses']['value']), NoIP) NameError: name 'NoIP' is not defined
Plus
эм )))
Plus
что-то пошло не так
Evgeniy
>>> {str(i):i for i in [1,2,3,4,5] if i != 5} {'1': 1, '2': 2, '3': 3, '4': 4}
Evgeniy
None там
Evgeniy
какое NoIP
Plus
а ну да
Evgeniy
если хочешь строчкой NoIP, то и пиши 'NoIP'
Evgeniy
в ковычках
Plus
чтоб строковое значение было
Plus
?