Дмитрий
Тут чё чат обучения питона сегодня?
Дмитрий
;)
Дмитрий
Мне дали бетку нового Клауд вижена
vitex
а
usser['autoLogin']['addresses']['value'] это же всегда список даже если айпи нет?
тогда как я написал будет работать
Plus
?
Evgeniy
именно
Plus
Plus
вот этой "addresses": {
"enabled": true,
"value": [
"192.168.1.1"
]
vitex
vitex
это важно
vitex
Evgeniy
json
чот мне кажется там прост value нету
Plus
а не обманул
Plus
если нет ip то вот так : "addresses": {
"enabled": false,
"value": []
},
Evgeniy
ну тогда норм
Plus
так типа правильнее или разницы особо нет ?
vitex
ну тогда норм
было бы проще если б вообще не было
можно было бы addresses.get('value')
vitex
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
или он сразу парой значения пихать будет ?
Evgeniy
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
vitex
ее нет
Evgeniy
но ваще можно проще
vitex
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
а ну да
vitex
Evgeniy
если хочешь строчкой NoIP, то и пиши 'NoIP'
Evgeniy
в ковычках
Plus
чтоб строковое значение было
Plus
?