
Yan?
18.01.2017
05:56:47
А как в питоне можно узнать, что за тип/структура данных некая переменная?

Johnnie
18.01.2017
05:57:26
type()

Yan?
18.01.2017
05:57:38
thnks

Johnnie
18.01.2017
06:24:44
Или isinstance()

Google

Johnnie
18.01.2017
06:38:34
https://habrahabr.ru/post/319774/

53r63rn4r
18.01.2017
07:41:00

Johnnie
18.01.2017
07:42:07
да там можно не читать даже, просто графики посмореть)

Whore Amazing
18.01.2017
07:43:30
блин
а что, xpath нельзя вложенно использовать?
первый раз нормально берет из строки данные и парсит
второй сразу же после - ругается на инвалид тайп, хотя я его точно так же вызываю

Pavel
18.01.2017
07:45:16

Whore Amazing
18.01.2017
07:45:29
не в том дело
он даже не берет строку

Pavel
18.01.2017
07:46:05
покажи кусок кода

Whore Amazing
18.01.2017
07:46:28
h = requests.get(i).text
doc = lxml.html.fromstring(h)
for j in doc.xpath('.//div[@class="hlisting"]/div/div[@class="prod_title"]/a'):
title = j.text.split(" ")[4]
color = j.text.split(" ")[5:]
if title not in titles:
titles.append(title)
hh = requests.get(j.get('href')).text
docdoc = lxml.html.fromstring(hh)
info = {}
info["colors"] = [color]
print(docdoc.xpath('.//a[@id="flink"/img]'))
первый xpath отрабатывает нормально
второй - спотыкается

Igor
18.01.2017
07:47:33
а трейс какой?

b0g3r
18.01.2017
07:48:38
Вложенно - цепочкой?

Whore Amazing
18.01.2017
07:48:59
я кинул кусок кода же

b0g3r
18.01.2017
07:49:27
Не прогрузилось сразу)

Google

Whore Amazing
18.01.2017
07:49:50
беру из результата первого xpath ссылку, открываю ее и результат тоже кидаю в fromstring
и вот оттуда xpath падает

Pavel
18.01.2017
07:50:12
а ты всё ещё косоглазый, как я посмотрю

Whore Amazing
18.01.2017
07:50:29
да я там из середины же кусок выдрал

Pavel
18.01.2017
07:50:33
скобку ] подвинь влево на 4 буквы во втором xpath

Whore Amazing
18.01.2017
07:51:03
АА
я идиот
спасибо

Johnnie
18.01.2017
07:56:15
человеку показали где он идиот, так он еще и благодарит за это)))

Yan?
18.01.2017
08:05:49
люблю codewars

Pavel
18.01.2017
08:06:35

Yan?
18.01.2017
08:06:48
бля
вот я идиот
спасибо

Pavel
18.01.2017
08:07:11
@ape364 ещё один ?

Johnnie
18.01.2017
08:07:22
следующий!

Yan?
18.01.2017
08:07:33
You have passed all tests! :)
как же греют душу эти слова
конечно код полное дерьмо
смотришь на свое решение в 30 строк
и на чужое в 3 строки

Google

Igor
18.01.2017
08:09:56
это нормально, у меня тоже часто так )

Yan?
18.01.2017
08:15:12
мое сверху, снизу самое короткое

Johnnie
18.01.2017
08:15:45
а задание какое?

Igor
18.01.2017
08:16:39
слушай, ну решение снизу ебаное достаточно
нечитабельное и все такое
я такие делаю на отъебись или в целях code golf'а

Pavel
18.01.2017
08:17:04
я бы нассал на самое короткое , если бы это был боевой код, а не членомер в интернете.

Igor
18.01.2017
08:17:12

Yan?
18.01.2017
08:17:25

Igor
18.01.2017
08:17:34
но и .keys() и .values() в отдельные переменные выносить - перебор, имхо

Yan?
18.01.2017
08:17:52

Igor
18.01.2017
08:17:52
хотя не, они там не раз используются

Igor
18.01.2017
08:17:53
норм

Pavel
18.01.2017
08:18:22
from collections import Counter
ret = Counter(data).most_common(1)

Johnnie
18.01.2017
08:18:22

Yan?
18.01.2017
08:19:59
https://www.codewars.com/kata/thinkful-dictionary-drills-multiple-modes/train/python

Johnnie
18.01.2017
08:26:22

pride
18.01.2017
09:06:56
Привет, господа, туплю дико, где я косячу?
return (True if str(uid) == str(get_conf('admins',i)) else False for i in config.options('admins'))
всё время отдает True
если делаю for и в нём вложенный if с теми же условиями - всё ок, отдает и True и False

Марк
18.01.2017
09:08:06
А такую дич вообще православно писать?

Igor
18.01.2017
09:08:14
ты возвращаешь генератор, это точно то, что ты хочешь?

Google

Dmitriy
18.01.2017
09:08:43

Dmitriy
18.01.2017
09:08:44
ахахаха

Igor
18.01.2017
09:08:49
может, обернуть это в any() или all()?

Admin
ERROR: S client not available

pride
18.01.2017
09:10:17

Igor
18.01.2017
09:10:34
не за что :)
я, правда, не понял, как return будет работать в описанном тобой случае
> если делаю for и в нём вложенный if с теми же условиями - всё ок, отдает и True и False
но ладно :(

Артем
18.01.2017
09:28:25
Короче обновил я телеграмм десктоп_линукс... Обьясните плиз, а что добавилось, а то я до этого в настройки особо не лазил...

Темный
18.01.2017
09:30:13
предлагаешь поискать ченжлог вместо тебя?
дел
нет возможности проверить на работе

Dmitriy
18.01.2017
09:37:17
Реплит же есть

Темный
18.01.2017
09:39:33

Dmitriy
18.01.2017
09:40:00

Темный
18.01.2017
09:40:31
а, онлайн иде. Чет я сразу не подумал) спасибо

pride
18.01.2017
09:47:14

Sergey
18.01.2017
09:49:50
Пытаюсь сделать так, что бы сервер брал данные в формате json из внешнего файла и записывал их в postgresql, подключил модуль import psycopg2, после команды - cursor_db.execute("CREATE TABLE clients (data JSON UNIQUE);"), возникает ошибка:
psycopg2.ProgrammingError: data type json has no default operator class for access method "btree"
HINT: You must specify an operator class for the index or define a default operator class for the data type.
не могу до конца понять смысл в этой ошибке, подскажите что она значит и как решить проблему.
И еще момент, если в самой базе данных выполнить команду CREATE TABLE clients (data JSON UNIQUE);, то все нормально, таблица создается и дальше выполняется все как требуется, но вот если с помощью питона это совершить, то ошибка.


Igor
18.01.2017
09:49:54
не за что)
если не понял, что это произошло, то грубо говоря, твоя функция возвращала такое:
return [
True if str(uid) == str(get_conf('admins', i)) else False
for i in config.options('admins')
]
т.е. список из значений False и True, в зависимости от того, равны были uid с get_conf('admins', X) или нет
в твоем случае оптимальнее было бы все-таки сделать через цикл, если тебе надо вернуть True при первом же совпадении и всё тут
for admin_uid in config.options('admins'):
if str(uid) == str(get_conf('admins', admin_uid)):
return True

Google

pride
18.01.2017
09:51:44
ага, я прост админ, поэтому сначала делаю потом доку читаю >_>

Igor
18.01.2017
09:51:53
:D

Темный
18.01.2017
09:58:06
эээ, а ктото может сказать, почему срабатывает принт?
str1 = "govno"
a = '@#$'
if str1.find(a):
print('work')

Dmitriy
18.01.2017
09:58:59
Потому что str1.find(a) -> -1

Johnnie
18.01.2017
09:59:58
if a in str ты хотел наверное?
Language: python3
Source: str1 = "govno"
a = '@#$'
res = str1.find(a)
print(res)
if res:
print('work')
if a in str1:
print('djigurda')
Result: -1
work
Stats: Absolute running time: 0.14 sec, cpu time: 0.03 sec, memory peak: 6 Mb, absolute service time: 0,14 sec

Igor
18.01.2017
10:03:23
а питон любое, что не 0, воспринимает как True
даже отрицательное число

Темный
18.01.2017
10:03:42

Dmitriy
18.01.2017
10:04:09
Для своих объектов можно обозначить метод __nonzero__()

Johnnie
18.01.2017
10:06:09
а это вообще законно?
:D

Темный
18.01.2017
10:06:28
да проще тогда для каждой буквы делать
if char in a

Denis
18.01.2017
10:08:14
Эта группа больше не существует