Этот чат создан для помощи в решение задач на прекрасном курсе "Поколение Python: курс для начинающих" и не только. Правила: t.me/pythonstepikchat/215338 Чат для флуда - t.me/+fqNb78zlQY81NGUy Наш канал - @kimport_this
наверное буквально год назад мне все та же Настя объясняла эту конструкцию. и наверное еще через какое то время кому то еще она будет тут объяснять. прям семейная реликвия
Читать полностью…эта конструкция - каноническое событие в ветке "ахуеть че питон умеет"))
Читать полностью…Antinormanist, Вы увеличили карму Анастасия до 31322.00 (+9.06)
Читать полностью…result.setdefault(tup[1:], []).append(tup[0])
вот эта часть result.setdefault(tup[1:], []) возвращает список
.append(tup[0]) вот тут в этот список добавляется новое значение
Такая красивая блондинка и такая умная! Обалдеть!)
Читать полностью…то есть когда ключ встречается в словаре несколько раз, возвращается один и тот же список
сначала [], потом ['Rusty'], потом ['Rusty', 'Balto'] и так далее
MrBloger, Вы увеличили карму Анастасия до 31312.94 (+7.55)
Читать полностью…потому что выше я тебе написала про понимание списков
Читать полностью…сделала это за тебя{('Parker', 'Wilson', 50): ['Hatiko'], ('Josh', 'King', 25): ['Rusty', 'Balto', 'Barry', 'Lassie'], ('John', 'Smith', 28): ['Fido'], ('Jake', 'Smirnoff', 18): ['Butch'], ('Emma', 'Wright', 18): ['Odi'], ('Hannah', 'Taylor', 40): ['Snape'], ('Martha', 'Robinson', 73): ['Horry', 'Chase'], ('Alex', 'Martinez', 65): ['Giro'], ('Simon', 'Nevel', 32): ['Zooma', 'Rocky'], ('Martha', 'Williams', 38): ['Ace']}
('Josh', 'King', 25): ['Rusty', 'Balto', 'Barry', 'Lassie']
ну и здесь еще понимание списков должно быть, это ссылочные изменяемые объекты, присваивать работу их методов (почти всех) не нужно
Читать полностью…Анастасия, Вы уменьшили карму StarDiadka Zvezdodinka до 1700.47 (-10.00)
Читать полностью…Нет! Прочитайте внимательно раздел инфо о курсе)
Читать полностью…Привет, админы. Скажите, сюда можно переслать опрос из другого канала? Это НЕ ради рекламы, канал вообще неактивен. Просто нужен общий результат опроса.
Читать полностью…соответственно, все вот эти вот присвоения и + являются лишними, все происходит автоматически, потому что списки - ссылочные изменяемые объекты
Читать полностью…Правильно ли я понимаю?
setdefault вернул нам ссылку на список, и в этот список по этой ссылке методом append добавился элемент, и т.к списки изменяемые, то даже без явного присваения список изменился?
Т.е setdefault возвращает список, не важно, уже с элементами или пустой, но, а как туда записывается очередной элемент?
Читать полностью…и все это один список, один объект, который изменяется методом append
Читать полностью…вот на этом примере: ('Josh', 'King', 25): ['Rusty', 'Balto', 'Barry', 'Lassie']
setdefault встретил ключ ('Josh', 'King', 25)
, так как такого ключа еще нет в словаре, setdefault вернул пустой список, в который записалось значение 'Rusty'
когда в следующий раз setdefault встретит ключ ('Josh', 'King', 25)
, он вернет уже не пустой список, а ['Rusty']
, и метод append добавит в него значение 'Balto'
когда в следующий раз setdefault встретит ключ ('Josh', 'King', 25)
, он вернет уже не пустой список, а ['Rusty', 'Balto']
и метод append добавит в него значение 'Barry'
у тебя каждую итерацию возвращается либо пустой список, когда ключ еще не добавлен в словарь, в него записываются значения
либо, если по ключу уже было записано значение, возвращается ТОТ ЖЕ САМЫЙ список, в которое на предыдущих итерациях записалось значение
Теперь остался лишь один вопрос, почему это работает?
Читать полностью…Т.е всё равно придётся использовать + [tup[0]], которую вы назвали говнокодом, но тогда, а как иначе
Читать полностью…да, из-за того, что у тебя append записал None в ключ, метод setdefault вернул именно его, отсюда пошла ошибка
Читать полностью…я от бк до катаклизма и кусок панд....
потом забил)))
У меня нет 2049 баллов и у меня сертификат с отличием
Читать полностью…