
Stanislav
09.11.2016
07:03:33

Petr
09.11.2016
07:04:22

Kolyann
09.11.2016
07:04:31

Petr
09.11.2016
07:04:50

Google

Stanislav
09.11.2016
07:05:01
Или так
def is_ascii(s): return all(ord(c) < 128 for c in s)

Kolyann
09.11.2016
07:05:37

Petr
09.11.2016
07:07:52
Ловить эксепшен?
Данные по сети приходят, и их проверить сразу нужно. Только если сделать декод в утф и отлавливать. Но вдруг есть норм решение без костыля

Дмитрий
09.11.2016
07:08:20

Vic
09.11.2016
07:19:57

I'm_your_god
09.11.2016
08:16:05
господа, а что быстрее?
key in dict или key in set(dict.keys())

Subbotin
09.11.2016
08:17:15
а ты сам подумай

Artem
09.11.2016
08:17:20
что быстрее, посмотреть вхождение ключа в хешсет или проитерироваться по хешсету, построить из него новый и посмотреть вхождение ключа в новом?

Artem
09.11.2016
08:17:42

I'm_your_god
09.11.2016
08:17:49
ну первый вариант быстрее получается

Artem
09.11.2016
08:18:06
все так

Alexey
09.11.2016
08:18:31
и читаемее

I'm_your_god
09.11.2016
08:18:43
я так спросил, может кто тесты проводил, может есть какие-то подводные камни или особенности

Google

Artem
09.11.2016
08:22:44
ну ты прикинь сложность операций
даже если бы это был не dict, а list

Artem
09.11.2016
08:23:24
у тебя реально это боттлнек? откуда столько premature оптимизаторов

Artem
09.11.2016
08:23:43
да причем тут это, господи, человеку интереснор

Artem
09.11.2016
08:24:14
для проверки таких гипотез есть модуль timeit

Artem
09.11.2016
08:24:27
a.py
a = {x:x for x in range(1,1000000)}
counter = 1
for key in a: counter += int(key)
b.py
a = {x:x for x in range(1,1000000)}
counter = 1
for key in set(a.keys()): counter += int(key)
time python a.py
0.23user 0.05system 0:00.29elapsed 98%CPU (0avgtext+0avgdata 71120maxresident)k
0inputs+0outputs (0major+40030minor)pagefaults 0swaps
time python b.py
0.32user 0.02system 0:00.35elapsed 98%CPU (0avgtext+0avgdata 98400maxresident)k
0inputs+0outputs (0major+64350minor)pagefaults 0swaps

Artem
09.11.2016
08:24:58
вопрос был про lookup, а не про итерирование

Artem
09.11.2016
08:25:47
оу
ну, тем не менее

Artem
09.11.2016
08:26:20
тем не менее построение нового сета все еще занимает дополнительное время, да :)

Artem
09.11.2016
08:26:37
вот. да :)

Pavel
09.11.2016
08:29:40
я так спросил, может кто тесты проводил, может есть какие-то подводные камни или особенности
подобные тесты проводятся самостоятельно в течении минуты.
>>> timeit.timeit("'a' in x.keys()", "x={'a':1, 'b':2, '3':4}")
0.15702699132893294
>>> timeit.timeit("'a' in x", "x={'a', 'b', '3'}")
0.05723832404587981
>>> timeit.timeit("'a' in set(x)", "x={'a':1, 'b':2, '3':4}")
0.3816764360450833
>>>

I'm_your_god
09.11.2016
08:31:29
подобные тесты проводятся самостоятельно в течении минуты.
>>> timeit.timeit("'a' in x.keys()", "x={'a':1, 'b':2, '3':4}")
0.15702699132893294
>>> timeit.timeit("'a' in x", "x={'a', 'b', '3'}")
0.05723832404587981
>>> timeit.timeit("'a' in set(x)", "x={'a':1, 'b':2, '3':4}")
0.3816764360450833
>>>
Во, спасибо!

Pavel
09.11.2016
08:31:51
Во, спасибо!
но никто не знает, какие у вас данные, какая версия питона, и какой вариант окажется лучше для вас.

Artem
09.11.2016
08:32:06
x in data
1.671
x in data.keys()
2.450
x in set(data)
7.116
x in set(data.keys())
8.898

Игорь
09.11.2016
09:31:05
кстати а чатик Python Jobs имеется?

.
09.11.2016
09:33:17
https://telegram.me/ru_pythonjobs

Eldar
09.11.2016
09:35:30
ты точки вместо заяпых используешь
в словаре

Google

Roman
09.11.2016
09:36:07
тю, зрение подводит

Costel Salanders
09.11.2016
09:36:32
што
это точки

Admin
ERROR: S client not available

Игорь
09.11.2016
09:36:51

Глеб
09.11.2016
09:43:56
/report
Оу
простите, из любопытства ткнул в надпись

Eldar
09.11.2016
09:44:30

Глеб
09.11.2016
09:44:51
/ репорт увидел и решил нажать :)

Levent
09.11.2016
09:45:05
Кнопко-ебы

Eldar
09.11.2016
09:45:11

Levent
09.11.2016
09:45:14
Увидел-нажал

Глеб
09.11.2016
09:45:33
да, что-то точно произошло после нажатия

Eldar
09.11.2016
09:45:37

Levent
09.11.2016
09:45:39
Ща еще одну константу пропишу себе в словарь macOS

Filat
09.11.2016
09:47:04
Ну, было же мол: "Нужен ли нам такой президент, который отправляет поетрявшегося мальчика в огромный мегаполис, а не звонит его родителям?"
Кстати, я с небольшим вопросом

Ruslan ?
09.11.2016
09:48:01
???

Google

Filat
09.11.2016
09:48:06
XD
хахах

Bo0oM
09.11.2016
09:48:11
лал