@python_beginnersЭта группа больше не существует

Страница 1000 из 1885
Denis
26.12.2016
16:34:42
Тем более ты сам сделал .list()

Возможно, там есть другие методы

Denis
26.12.2016
16:35:49
Ну сам словарь сделай

Google
Daniel
26.12.2016
16:53:23
Pavel
26.12.2016
16:57:48
Petr
26.12.2016
17:45:59
ip_info = dict(zip(map(lambda key : key.lower().replace(' ', '_') ,ip_info[::2]), ip_info[1::2])) нужно такую дичь разделять на простые действия или это терпимо?

Denis
26.12.2016
17:47:00
Если вынести в функцию и понятно назвать, сойдет

Petr
26.12.2016
18:02:32
def get_ip_geoinfo(ip_address): try: r = requests.get('https://geoiptool.com/en/?ip={}'.format(ip_address)) except requests.exceptions: raise PageLoadingError from None soup = BeautifulSoup(r.text, "html.parser") try: data = soup.find('div', {'class':'sidebar-data hidden-xs hidden-sm'}).findAll('span') except: raise PageParsingError from None data = list(map(lambda item : item.getText().strip().strip(':'), data)) keys = map(lambda key : key.lower().replace(' ', '_'), data[::2]) return dict(zip(keys, data[1::2])) потянет на норм функцию?

Denis
26.12.2016
18:03:00
А зачем from None?

Дебажить же сложнее

Petr
26.12.2016
18:04:17
Дебажить же сложнее
да там дебажить то нечего

Denis
26.12.2016
18:04:53
И просто except писать не очень хорошо, потому что ловится KeyboardInterrupt

Petr
26.12.2016
18:06:42
У beautifulsoup нету своих исключений как у requests, поэто пришлось так

поэтому*

Zart
26.12.2016
18:07:22
except Exception:

Google
Petr
26.12.2016
18:08:15
точн не наследуется же

системные всяякие

ip_info = {key.lower(): value for key, value in zip(*[iter(ip_info)]*2)}
Ааа как это работает???? >>> list(zip(*[iter(a), iter(a)])) [(1, 1), (2, 2)] >>> list(zip(*[iter(a)]*2)) [(1, 2)] [iter(a)]*2 просто будут 2 одинаковых объекта в листе или нет?

Zart
26.12.2016
18:24:05
неа. магия итерации

Евгений
26.12.2016
18:24:18
Народ, подскажите пожалуйста. Есть тесктовый файл, есть список строчек (в том числе строчки содержащие регулярные выражения). нужно сравить. Делаю так: opt_list = list() opt_list.append('.*string1.*') opt_list.append('.*string2') for cur_opt in opt_list: if re.match(cur_opt, f_content, re.MULTILINE|re.DOTALL) is not True: print cur_opt не работает :(

Zart
26.12.2016
18:25:09
а накой оно такое?

Denis
26.12.2016
18:25:52
Нах все пишут is True?

Petr
26.12.2016
18:27:02
типо тернарный оператор, все дела

Denis
26.12.2016
18:27:20
Што

Petr
26.12.2016
18:27:21
хотя он по другому пишется (

Zart
26.12.2016
18:27:54
Ааа как это работает???? >>> list(zip(*[iter(a), iter(a)])) [(1, 1), (2, 2)] >>> list(zip(*[iter(a)]*2)) [(1, 2)] [iter(a)]*2 просто будут 2 одинаковых объекта в листе или нет?
iter(x) создает итератор [iter(x)] создает список из него [iter(x)]*N создает список из его эн копий zip(* ...) - превращает этот список в список аргументов и кормит зипу зип проходит по каждой копии и дёргает её за некст но так как они ссылаются на один и тот же итератор это приводит к тому что оно дергает очередной элемент в итоге зип создает тупл из N элементов исходного списка за один проход и повторяет это до упора на выходе получаем группы по N элементов из исходного

за is not True надо бить по рукам линейкой, да. if not x:

Petr
26.12.2016
18:28:44
натури, прикольный способ

Janek
26.12.2016
18:28:51
Ну а чем не тру плох?

Я то его не использую, но все же

Zart
26.12.2016
18:29:09
тем что is тест для него не очень удачен в общем случае

Janek
26.12.2016
18:29:59
Ну понял теперь

Petr
26.12.2016
18:30:04
is для None норм вроде

Janek
26.12.2016
18:30:27
==

Zart
26.12.2016
18:30:41
для None да

Google
Janek
26.12.2016
18:31:00
Слушай а 0 is None?

Denis
26.12.2016
18:31:08
Никак нет

Janek
26.12.2016
18:31:20
А 0== None?

Zart
26.12.2016
18:31:35
нет

Janek
26.12.2016
18:32:04
И фолз не нан

?

Denis
26.12.2016
18:32:50
Ничто не нан, кроме нан

Zart
26.12.2016
18:33:01
что вы курите там

Denis
26.12.2016
18:33:14
Зеленый чай

Janek
26.12.2016
18:33:17
Лол

Я знаю про нан

Я просто так спрашиваю

Denis
26.12.2016
18:34:01
Вообще есть два нана, None и NaN

Janek
26.12.2016
18:34:10
Я про первый

Теперь вопрос на засыпку: пустой список Нан?

Denis
26.12.2016
18:34:59
Нан только сам нан и 1337

Janek
26.12.2016
18:35:30
Понял

Zart
26.12.2016
18:36:27
кто-то путает None с False?

53r63rn4r
26.12.2016
18:37:51
0 фолс, позитивное число тру

Denis
26.12.2016
18:38:22
Негативное число тоже тру

Google
Zart
26.12.2016
18:38:52
ненулевое комплексное тоже тру

непустой список тру

Zart
26.12.2016
18:39:47
непустой дикт тру. непустая строка тру. произвольный объект тру, если не переопределен __nonzero__ (py 2.x) / __bool__ (py 3.x)

https://docs.python.org/3/library/stdtypes.html#truth-value-testing рекомендую сравнить с другими языками, результаты веселые

Zart
26.12.2016
19:02:22
и лен

Admin
ERROR: S client not available

Octo@dshacks
26.12.2016
19:10:12
я нашел метод получения платформы без list

осталось только сделать получение игры по продукт коду

лучшая документация

Кротобедонтий
26.12.2016
19:23:52
лучшая документация
Крови не хватает

Janek
26.12.2016
19:24:41
Крови богу крови

Кротобедонтий
26.12.2016
19:25:04
Шта

Daniel
26.12.2016
19:46:10
я хтмл нуб, помогите сделать request ('url) чтобы на выхлопе было %.txt https://stepic.org/media/attachments/course67/3.6.3/699991.txt -

Denis
26.12.2016
19:46:37
Нипонел

Daniel
26.12.2016
19:46:41
т.е. выбить из url содержимое

вот ето — 213837.txt

Denis
26.12.2016
19:47:03
requests.get(...).text

Daniel
26.12.2016
19:47:32
readline не надо?

Google
Denis
26.12.2016
19:47:47
Или urllib.request.urlopen(...).read().decode('utf-8')

Daniel
26.12.2016
19:48:34
блин эти request и requests вечно путаю

Denis
26.12.2016
19:49:01
requests это сторонняя библиотека, urllib.request есть в стдлибе

Daniel
26.12.2016
19:50:00
ну да, импортировал ее, посмотрю urllib, спасибо :)

Maksim
26.12.2016
20:04:56
Если я хочу добавить какую нибудь инфу по определенному ключу своему, то как это сделать?

Denis
26.12.2016
20:07:15
Куда добавить?

Maksim
26.12.2016
20:07:23
МГм

Denis
26.12.2016
20:07:29
a[b] = c

Max
26.12.2016
20:14:49
Чат, а поясните за аргумент селф. Я понимаю, что есть у нас класс и есть объект как инстанс класса. Стаковерфлоу говорит о том, что типа селф нужен чтобы был слот для самого объекта когда мы вызовем класс и передадим объект как аргумент. Типа v_instance.length() будет Vector.length(v_instance) И типа если в классе есть куча селфов, то зачем их много, если селф нужен всего один?

Denis
26.12.2016
20:15:26
Что значит в классе есть куча селфов?

Селф всегда один

Его может и вообще не быть

Кротобедонтий
26.12.2016
20:18:41
Его может и вообще не быть
Эт как? Если объект, то он должен быть

Denis
26.12.2016
20:19:03
У статических и классовых методов нет селфа

И если вызвать любой метод в контексте класса, селф передаваться не будет

Max
26.12.2016
20:19:36
Кротобедонтий
26.12.2016
20:19:48
Селф же есть ссылка на объект

Страница 1000 из 1885

Эта группа больше не существует Эта группа больше не существует