@ru_python

Страница 822 из 9768
Zart
26.05.2016
20:19:31
потому что эти детали интересны только тем, кто занимается метаклассами или сериализацией

Sasha
26.05.2016
20:21:29
Ну рано или поздно все равно этим занимаешься. Конкретно про инит и нью, могу сказать, что нью - создает, инит - инициализирует. Кусок: class A(object): def __new__(cls): print "A.__new__ called" def __init__(self): print "A.__init__ called" # -> Не вызовется потому что в new нет return super(A, cls).__new__(cls) print A()

Zart
26.05.2016
20:21:40
Как рассчитывается память? Или пох?
использование памяти объектами питона - это очень интересная тема изза рефкаунтинга

Марк
26.05.2016
20:22:44
Хз хз. Я вот недавно со словарями говна поел знатно. Как-то раньше по ключам обращался и вус не дул. А тут выстроил архитектуру так, что словарь должен изначально сохранять последовательность. И тут НЕОЖИДАННО выяснилось, как я был неправ. Пришлось курить коллии хеша, чтобы хотя бы не удивляться

Google
Zart
26.05.2016
20:23:33
эм

Sasha
26.05.2016
20:23:47
я не понял =\

Zart
26.05.2016
20:23:51
это ж вроде тебе на днях я писал что если хочешь порядка - сортируй сам?

ибо дикт у нас анордеред

Sasha
26.05.2016
20:25:24
А есть жеж collections

Paul
26.05.2016
20:25:26
Только рельсы живые
еще шеф живой

drjackild
26.05.2016
20:25:36
всмысле, ты не ожидал, что словарь не гарантирует последовательность?

Марк
26.05.2016
20:25:38
Карочи a = {'a':1, 'b':2, 'c':3} не будет в этой последовательности выполняться. И если у вас вместо ключей всякие "OTDEL", то можно сильно удивиться

Да.

Aldar
26.05.2016
20:25:52
ansible тоже руби

Paul
26.05.2016
20:26:00
ansible тоже руби
с чего бы?

пайтон

drjackild
26.05.2016
20:26:10
ансибл на питоне

Google
Paul
26.05.2016
20:26:10
пупет - руби. Но пупет - труп

Sasha
26.05.2016
20:26:10
Я все равно так и не понял =\ Если нужна последовательность, берешь collections.OrderedDict

и се

посоны хватит про руби

Zart
26.05.2016
20:26:24
ансибл ни капли ни руби

Aldar
26.05.2016
20:26:38
да

ошибся

Zart
26.05.2016
20:26:50
он умеет гонять фактер от руби, чтобы стырить тамошние данные. но на этом вся интеграция с рубями заканчивается

Марк
26.05.2016
20:27:13
Ну я реально удивился. Причем логики не видел в перестановке. В итоге пошло поехало побитовое сравнение, чтобы хеш вычислить

Sasha
26.05.2016
20:27:58
Ты хотел, чтобы была сортировка по времени вставки? Я правда не понимаю,что ты именно хотел =\

.
26.05.2016
20:28:17
Гайз, как кусок кода в телеграмме вставлять? Мне тут помощь с вк нужна, не могу понять почему не робит код

Paul
26.05.2016
20:28:34
выделять тремя косыми кавычками

вот такими - `

Sasha
26.05.2016
20:28:57
'``` код ```'

drjackild
26.05.2016
20:29:04
интересно, получается, что можно делать так: >>> class Foo: ... pass ... >>> s = object.__new__(Foo) >>> s <__main__.Foo object at 0x7f4c6c4e2d30> >>> s = Foo.__new__(object) >>> s <object object at 0x7f4c6dd95110>

Paul
26.05.2016
20:29:05
.
26.05.2016
20:29:37
''' k = 0 text = [] session = vk.Session() api = vk.API(session) while k != 10000: text.append(api.wall.get(owner_id=-35029664, offset=k, count=100)) k += 100'''

Google
.
26.05.2016
20:29:56
k = 0 text = [] session = vk.Session() api = vk.API(session) while k != 10000: text.append(api.wall.get(owner_id=-35029664, offset=k, count=100)) k += 100

спасибо

Υπερβορεία
26.05.2016
20:30:50
И к чему это?

Zart
26.05.2016
20:30:50
в питоне обычно применяют for k in range(0, 1000, 100):

drjackild
26.05.2016
20:30:54
кхм. а почему не for k in range(0, 10000, 100)

.
26.05.2016
20:31:11
Эта штука должна распарсить стену в вк, но она забирает не 10к записей, а 100

drjackild
26.05.2016
20:31:21
не пайтоник же

Zart
26.05.2016
20:31:30
ну так и указываем шаг для рендж, а не вот тот жалкий k+=100

Sasha
26.05.2016
20:32:02
?

Марк
26.05.2016
20:32:23
Ты хотел, чтобы была сортировка по времени вставки? Я правда не понимаю,что ты именно хотел =\
допустим у тебя есть словарь {'otdel', 'work', 'afk', ''}(я просто ключи перечислил). И по нему формируется таблица на фортенде. Так вот из-за того, что словарь по своему сортируется, данные заполняются не так как нужно: в otdel пихается цифра из afk

Zart
26.05.2016
20:32:37
и подозреваю что там опять же лучше text.extend чем append

drjackild
26.05.2016
20:33:58
Марк, так а как ты проходишь по словарю на фронте? это в темплейт передается, или как?

Марк
26.05.2016
20:33:59
угу.

Zart
26.05.2016
20:34:01
т.е. можно d.items() == zip(d.keys(), d.values())

Марк
26.05.2016
20:34:54
Ну вот лист сделал, теперь упорядочено. У него последовательность гарантирована - и я просто сверяю, че и как

Sasha
26.05.2016
20:35:14
Ааа, ты хочешь отсортировать дикт просто?

Марк
26.05.2016
20:35:41
допустим у тебя есть словарь {'otdel', 'work', 'afk', ''}(я просто ключи перечислил). И по нему формируется таблица на фортенде. Так вот из-за того, что словарь по своему сортируется, данные заполняются не так как нужно: в otdel пихается цифра из afk

Zart
26.05.2016
20:35:50
можно collections.OrderedDict(sorted(d.items())) чтобы получить упорядоченный список ключей, с семантикой дикта

Sasha
26.05.2016
20:36:04
d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2} OrderedDict(sorted(d.items(), key=lambda t: t[0]))

Google
Sasha
26.05.2016
20:36:24
Я так и не понял, чем ордеред дикт не подошел

что там с хэшем, что там ломается. не понимаю

Марк
26.05.2016
20:36:41
Я с Ордеред поигрался, но столкнулся с проблемой как в append

Zart
26.05.2016
20:37:08
аппенд там веселый, да

обычно проще сортировать в шаблоне по нужному ключу

скажем | dictsort в джиндже2

Марк
26.05.2016
20:37:52
То есть, это ссылка, а не копия. Соответственно, я получаю последнее значение словаря по циклу.

Sasha
26.05.2016
20:38:04
кстати да. шдш filter: в ангуляре

а что там с аппендом в оредеред дикте?

Марк
26.05.2016
20:39:03
Думаю, тоже самое, что при обычном. Нельзя туда словарь пихать

Admin
ERROR: S client not available

Zart
26.05.2016
20:39:04
а там при попытке аппендить существующий ключ он вроде в хвост не переезжает

ээ

а когда ты пихаешь обычный дикт - он так и пойдет туда в своем порядке

пихай сортед(новый.итемс()) же

Марк
26.05.2016
20:39:41
a = [] b.update({'a':1}) a.append(b)

Zart
26.05.2016
20:40:27
это бессмысленно

ты аппенднул не ключ

а пару ключ-значение

Марк
26.05.2016
20:41:02
ну хотел чет вроде [{}, {}, {}]

Google
Zart
26.05.2016
20:41:10
ощущение что ты пытаешься вслепую заставить тип данных делать чтото, что тебе хочется

Sasha
26.05.2016
20:41:11
ты же указатель аппендишь, нет?

все, я запутался совсем

Марк
26.05.2016
20:41:44
Открой ipython

Zart
26.05.2016
20:41:48
но при этом он сам не до конца понимает что он хочет

Марк
26.05.2016
20:41:59
инициализируй лист.

Sasha
26.05.2016
20:42:07
дай исходные данные и скажи что ты хочешь

Zart
26.05.2016
20:42:12
как вариант можно поменять дикт на список туплов (ключ, значение)

Sergey
26.05.2016
20:42:28
он наверное копии хочет в лист складывать а складывает ссылки

Zart
26.05.2016
20:42:42
он и ордеред, и по нему можно быстро поиск сделать через dict(l)[key]

Марк
26.05.2016
20:42:44
ебани словарь типо {'a':1, "b':2'} и в цикле попробуй из засунуть в лист

Zart
26.05.2016
20:43:07
цикл чего по чему в лист пихать что? ключи? значения?

вменяемо объяснять проблему нужно

Марк
26.05.2016
20:43:24
Я в группе писал. Ща покажуц

my_dict = dict() final_data = [] for i in some_dict: —-> my_dict.update({'key':i}) —-> my_dict.update({'value':some_dict[i]}) —-> final_data.append(mydict) В итоге final_data содержит список словарей только с последними ключ : значение

Sasha
26.05.2016
20:45:06
эм, ты ключу передаешь ссылку на ключ-значение

Zart
26.05.2016
20:45:20
rlookup_dict = zip(some_dict.values(), some_dict.keys())

дарю

Zart
26.05.2016
20:46:03
а как вы так код кидаете?
используем тройные обратные апострофы для цитирования кода

Aleksey
26.05.2016
20:46:55
'''print("py")'''

не сработало

бл

Страница 822 из 9768