Size: a a a

Сообщество Python Программистов

2020 December 13

VA

Vadim Apenko in Сообщество Python Программистов
Language:
py3


Source:
a, b, *c = [1,2,3,4,5,6]

print(a, b, c)


Result:
1 2 [3, 4, 5, 6]
источник

E

Egor in Сообщество Python Программистов
Vadim Apenko
Вроде стандартный сепаратор и так пробел
на ночь крыша поехала немного. согласен, оно там лиiнее
источник

A

Aleksandr in Сообщество Python Программистов
Vadim Apenko
Language:
py3


Source:
a, b, *c = [1,2,3,4,5,6]

print(a, b, c)


Result:
1 2 [3, 4, 5, 6]
Удобно, когда нужно отбросить первый и последний элемент. Как раз про это сегодня читал )
источник

E

Egor in Сообщество Python Программистов
Aleksandr
Удобно, когда нужно отбросить первый и последний элемент. Как раз про это сегодня читал )
[1:-1] делает бррр
источник

A

Aleksandr in Сообщество Python Программистов
Egor
[1:-1] делает бррр
ну а если нужно сохранить 1 и последний элемент?
источник

E

Egor in Сообщество Python Программистов
Aleksandr
ну а если нужно сохранить 1 и последний элемент?
в таком случае да
источник

VA

Vadim Apenko in Сообщество Python Программистов
Aleksandr
Удобно, когда нужно отбросить первый и последний элемент. Как раз про это сегодня читал )
Мне по практике надо как раз взять несколько элементов, сначала или конца итератора. А остальное выкинуть, потому я делаю как-то так

one, two, three, *_ = SOME()
источник

E

Egor in Сообщество Python Программистов
но если у него один элемент, то a, *b, c выдаст ошибку, а [1:-1] поймет простит такую длину массива
источник

VA

Vadim Apenko in Сообщество Python Программистов
Egor
в таком случае да
Language:
py3


Source:
a, *_, b = [1,2,3,4,5]

print(a,b)


Result:
1 5
источник

E

Egor in Сообщество Python Программистов
Egor
но если у него один элемент, то a, *b, c выдаст ошибку, а [1:-1] поймет простит такую длину массива
окей, это скорее плохо
источник

E

Egor in Сообщество Python Программистов
Vadim Apenko
Language:
py3


Source:
a, *_, b = [1,2,3,4,5]

print(a,b)


Result:
1 5
в случае, где их нужно сохранить это неплохая вещь, говорю
источник

E

Egor in Сообщество Python Программистов
кстати, недавно нашел такую штуку, как параметр /.
стыдно, что раньше не знал. так вот, он делает параметры до него positional-only, в пикче все понятно объяснено.

в итоге аргументы должны стоять в таком порядке: positinal-only, positional, kwargs
источник

in Сообщество Python Программистов
Egor
кстати, недавно нашел такую штуку, как параметр /.
стыдно, что раньше не знал. так вот, он делает параметры до него positional-only, в пикче все понятно объяснено.

в итоге аргументы должны стоять в таком порядке: positinal-only, positional, kwargs
Там ещё есть трюк со звёздочкой
источник

in Сообщество Python Программистов
Egor
кстати, недавно нашел такую штуку, как параметр /.
стыдно, что раньше не знал. так вот, он делает параметры до него positional-only, в пикче все понятно объяснено.

в итоге аргументы должны стоять в таком порядке: positinal-only, positional, kwargs
источник

E

Egor in Сообщество Python Программистов
Там ещё есть трюк со звёздочкой
прикольно. уже протестил и в преисполнился в познании
источник

E

Egor in Сообщество Python Программистов
благодарю
источник

K

KarmaBot in Сообщество Python Программистов
Egor
благодарю
Вы увеличили карму 🍉 до 1202.09 (+30.80)
источник

E

Evgeni in Сообщество Python Программистов
def get(namespace, var):
   if var in scopes[namespace]['variables']:
       return namespace
   elif var not in scopes['global']['variables']:
       return None
   else:
       get(scopes[namespace]['parent'], var)

Помогите пожалуйста, есть рекурсивная функция, которая работает со словарем, и копает из глубины вверх, доходя до scopes['global']['variables'], или scopes[namespace]['variables'], я пишу что она возвращает мне либо ничего, либо namespace, а по итогу у меня когда должно вернуться либо none, либо нужный мне неймсейс, выполняется почему то ещё раз else и возвращает не то что мне нужно, как это понимать?
я так понимаю он сворачивает рекурсию, но мне не нужно её сворачивать, а сразу прервать на этом месте и вернуть лишь одно значение, как этого добиться?
источник

in Сообщество Python Программистов
Evgeni
def get(namespace, var):
   if var in scopes[namespace]['variables']:
       return namespace
   elif var not in scopes['global']['variables']:
       return None
   else:
       get(scopes[namespace]['parent'], var)

Помогите пожалуйста, есть рекурсивная функция, которая работает со словарем, и копает из глубины вверх, доходя до scopes['global']['variables'], или scopes[namespace]['variables'], я пишу что она возвращает мне либо ничего, либо namespace, а по итогу у меня когда должно вернуться либо none, либо нужный мне неймсейс, выполняется почему то ещё раз else и возвращает не то что мне нужно, как это понимать?
я так понимаю он сворачивает рекурсию, но мне не нужно её сворачивать, а сразу прервать на этом месте и вернуть лишь одно значение, как этого добиться?
Не знаю, решит ли это твою проблему (так как не совсем понял задачу, которую решает такой код), но разве перед get в else не нужен return?
источник

E

Evgeni in Сообщество Python Программистов
нужен, именно в нём и была проблема, решил, спасибо
источник