Shub
хм, и вправду создает
Peter
Новый обьект создается
А такой вариант не рассматривали? :) reversed((1, 2, 3, 4, 5))
Peter
Хотя, это не спортивно, уже не список.
Anonymous
Во всех вариантах был список, все чесно
Shub
In [20]: lst = list(range(100000)) In [21]: type(lst) Out[21]: list In [22]: sys.getsizeof(lst) Out[22]: 900112 In [23]: rev = lst[::-1] In [24]: type(rev) Out[24]: list In [25]: sys.getsizeof(rev) Out[25]: 800064
Shub
срез почему-то меньше
Peter
Списки в Питоне резервируют доп. место для расширения размера. Возможно, тут это и проявилось.
Peter
Я сейчас поиграл с getsizeof. У меня получается простая формула 36 + n * 4 для размера списка. И это работает одинаков и для исходного списка, и для rev.
Peter
>>> 40 + (100000 - 1) * 4 400036 >>> sys.getsizeof([0] * 100000) 400036 >>> sys.getsizeof(([0] * 100000)[::-1]) 400036
Peter
А вот с list-range результат интересный!
Peter
>>> sys.getsizeof(list(range(100000))) 450060 >>> sys.getsizeof(list(range(100000))[::-1]) 400036
Shub
угу
Peter
То есть просто list(range) что-то привносит в заголовок (?) списка.
Shub
надо посмотреть в сорсы PyList, чего гадать-то
Peter
А после [::-1] у нас получается уже обычный список.
Дима
Профессиональный подход!)
Anonymous
Вакансии нельзя
Vlad
Вакансии нельзя
Ок, сори. Подскажешь куда можно?
Anonymous
Хз, глянь тут @proDOT
Vlad
@jobspy
Спасибо
Alex
ребят, у меня такая проблема, мне надо вывести название переменной и ее значение. Если подробнее, название функции и что она выводит
Alex
где-то видел это как-то main делается, но забыл
Alex
подскажите?
Shub
func.__name__, func.__doc__?
Alex
да, func.name
Alex
точно спассибо
Liman
Ребята какой самый быстрый способ парсинга sitemap? Юзал bs4 + xml, но обычные регулярки оказались быстрее, есть способ получше?
Shub
есть. написать свой парсер
Liman
Дима
юзай просто xml либу которая пошустрее ивсё
Liman
юзай просто xml либу которая пошустрее ивсё
ок вроде она сразу C кодом парсит
Shub
ок вроде она сразу C кодом парсит
регулярки все равно быстрее будут. но их херово поддерживать
Liman
они все равно быстрее как не крути
Shub
быстрее регулярок - только текстовые операции. так что решай, что нужно - или полная поддержка формата, или быстрое вытаскивание нужных полей
Shub
а вообще, что значит "быстро"?
Shub
bs4 - вообще забей на нее, это костыль для разбора невалидного html
Liman
bs4 - вообще забей на нее, это костыль для разбора невалидного html
уже все мне это говорят ппц как лень на скрапи переходить
Shub
скрапи не об этом вообще-то
Shub
по уму тебе нужет либо sax парсер, либо lxml
Shub
точнее, вот
Shub
https://docs.python.org/3.7/library/markup.html
Shub
lxml когда-то заменял ElementTree
Shub
большая часть этих модулей распарсит твой сайтмап
Shub
lxml подходит, если нужны вообще все возможности xml, типа неймспейсов и прочего
Shub
bs4 - это реально набор хаков для невалидной разметки, посмотри его сорсы и ужаснись
Danil
bs4 - класс
Danil
Используя find и find_all можно любую инфу вытащить с html
Liman
TypeError: Cannot mix str and non-str arguments при запросе через requests почему так может быть?
Shub
телепаты в отпуске. неси код
Liman
телепаты в отпуске. неси код
вызов функции url = list(products)[0] title_new = list(products)[1] methods.main_method(url, title_new) Функция proxies = monitor.get_proxies() data = json.loads(requests.get(data_link).text)
Shub
ох пиздец, простите мой акцент
Shub
products что из себя представляет?
Shub
это тебя не оправдывает
Liman
products что из себя представляет?
tuple он все что нужно выдает
Shub
т.к. советский союз 70 лет работал
Shub
url, new_title = products
Shub
data = requests.get(data_link).json
Shub
версия питона 3.х?
Liman
url, new_title = products
смысл мне так делать url и new_title по разным ключам находятся либо я еблан
Shub
у тебя где-то bytes приходят
Liman
все воткнул
Shub
если там больше двух элементов, то
Liman
нет не болше
Shub
url, new_title, *_ = products
Liman
а вот как ошибку фиксить
Liman
первый раз вижу такую
Igor
url, new_title, *_ = products
а, вот как это правильно распаковывать
Shub
но это только в 3.х