Описание тега python-assignment-expression
Выражения присваивания (a:= b) - это новая синтаксическая структура, предложенная в PEP 572 и введенная в Python 3.8
0
ответов
Можно ли включить выражения присваивания в Python 3.7 с помощью __future__?
Есть ли способ проверить выражения присваивания PEP-572 в Python 3.7.x? В прошлом новая языковая функция была перенесена на более ранние версии Python с использованием from __future__ import, Есть ли один для выражения присваивания? Если да, как наз…
30 июл '18 в 01:36
1
ответ
Как можно сделать оператор присваивания "x = y:= f(x)" при использовании выражений присваивания в Python?
Я читаю в Твиттере: #Python news: Гвидо принял PEP 572. У Python теперь есть выражения присваивания. if (match := (pattern.search) pattern.search(data)) is not None: print((match.group) mo.group(1)) filtered_data = [y for x in data if (y := f(x)) is…
05 июл '18 в 07:41
1
ответ
С помощью выражений присваивания в Python 3.8, почему мы должны использовать `as` в`with`?
Теперь, когда принят PEP 572, Python 3.8 предназначен для использования выражений присваивания, поэтому мы можем использовать выражение присваивания в with написать вполне естественно выглядящий with f := open('file.txt'): for l in f: print(f) вмест…
17 июл '18 в 15:44
6
ответов
Синтаксис и выражения присваивания ":=": что и почему?
PEP 572 представляет выражения присваивания, реализованные для Python 3.8. Это кажется действительно существенной новой функцией, поскольку она позволяет использовать эту форму назначения в пределах функций понимания и лямбда-функций. Что такое син…
11 май '18 в 17:50
3
ответа
Как переписать этот простой цикл, используя выражения присваивания, представленные в Python 3.8 alpha?
Мне кажется, что не очень просто обмениваться классическими циклами while с выражениями- присваиваниями -loops, чтобы код выглядел великолепно. Рассматривать example1: >>> a = 0 >>> while (a := a+1) < 10: ... print(a) ... 1 2 3 …
22 мар '19 в 17:42
1
ответ
Понимание причины появления нового оператора python: =
Это своего рода вопрос метапрограммирования: я хотел бы понять, почему разработчики Python представили еще один оператор с новым := . Я знаю для чего это. Однако я хотел бы знать, почему разработчики выбрали новый символ вместо повторного использова…
20 сен '19 в 16:59
3
ответа
Использование выражений присваивания Python 3.8 в качестве выражения let?
Мое предполагаемое поведение: >>> x = 0 >>> with (x := 1): print(x) 1 >>> print(x) 0 Однако я получаю ожидаемое AttributeError: __enter__ошибка. Есть ли простой способ добиться этого или что-то подобное, что позволяет мне …
08 фев '20 в 11:17
3
ответа
Выражение присваивания Python 3.8 в понимании списка
Я впервые пытаюсь использовать новое выражение присваивания, и мне нужна помощь. Даны три строки выходных данных журнала: sin = """Writing 93 records to /data/newstates-900.03-07_07/top100.newstates-900.03-07_07/Russia.seirdc.March6-900.12.csv .. Wr…
09 мар '20 в 21:01
1
ответ
Множественные условия для присвоения "моржового оператора"
Я хотел бы знать, можно ли использовать "оператор моржа" для присвоения значения на основе некоторых условий, а также существующих. Например, присвоить строкуpost_url если эта строка содержит некоторую подстроку: if post_url := data.get("Post url") …
27 апр '20 в 16:48
2
ответа
выражения присваивания с условным выражением
Следующий фрагмент def expensive_function(x): return x x = 10.5 (int(y) if y.is_integer() else y := expensive_function(x)) поднимает SyntaxError: cannot use assignment expressions with conditional expression Можно ли не использовать выражения присва…
16 окт '20 в 17:13
1
ответ
Как избежать утечки выражений присваивания Python в пониманиях
В книге " Эффективный Python" автор рекомендует использовать выражения присваивания, чтобы избежать избыточности в понимании, например: def fun(i): return 2 * i result = {x: y for x in [0, 1, 2, 3] if (y := fun(x)) > 3} вместо result = {x: fun(x)…
04 окт '20 в 12:23
3
ответа
Может ли выражение присваивания создавать ряды Фибоначчи, используя понимание списка?
С выражением присваивания я подумал, что могу попробовать составить список, чтобы создать Фибоначчи. Сначала я инициализирую список Фибоначчи из 5 элементов f = [1,2,3,4,5], где первые два значения являются начальными числами. Приведенный ниже тесто…
27 окт '20 в 08:39
0
ответов
Выражение присвоения без прямого использования
Я хотел бы по возможности ввести в свой код выражения присваивания, но я наткнулся на очень простой случай, для которого не нашел: На очень распространенном примере [(y := f(x), x/y) for x in some_iterable] Интересно, как не использовать y напрямую,…
30 сен '20 в 17:42
1
ответ
Порядок вычисления выражений присваивания (оператор моржа)
У меня есть такое выражение: >>> a = 3 >>> b = 2 >>> a == (a := b) False Теперь, a == 2после операции, как положено. И результат - это то, что я хотел бы, то есть сравнение с RHS назначения перед назначением. Изменение пор…
13 сен '21 в 21:55
2
ответа
Выражения присваивания Python3.8, использование в понимании списка или как выражение
Недавно я обнаружил, что существуют выражения присваивания . И я хотел реорганизовать часть своего кода, чтобы использовать их. Большинство мест, где я хотел его использовать, было относительно просто преобразовать. Однако я не уверен в синтаксисе, …
01 окт '21 в 10:52
2
ответа
Истинные значения в списке
код Этот код сохраняет ваши любимые блюда в списке, но ввод превращается в символ типа bool. Почему это происходит и как это исправить? foods=list() while food := input("what food do you like?: ") != "quit": foods.append(food) print(foods)
31 окт '21 в 16:46
0
ответов
Вопрос в стиле оператора Walrus с использованием примера кодирования бинарного поиска
Иногда я нахожу краткие выражения алгоритмической логики более интуитивными, чем длинные. Примером может служить бинарный поиск (wikipedia) с простой реализацией Python: def binary_search(A, L, R, T): while L != R: M = (L + R + 1) // 2 if A[M] > …
13 фев '22 в 17:49
2
ответа
Морж для распаковки значений в понимании списка
У меня есть вложенный список, содержащий словари в виде таблицы сопоставления с использованием кортежа в качестве ключа. я изо всех сил пытаюсьzipсловарь вместе, чтобы Pandas мог экспортировать его в файл csv: l = [{('A', 'B'): 1}, {('A', 'C'): 2}, …
28 окт '22 в 18:39
1
ответ
Попытка решить проблему с кодом twoSums leet, почему оператор моржа с dict.get() не работает в python3
Подсказка: Дан массив целых чисел nums и целое число target, верните индексы двух чисел так, чтобы в сумме они составляли target. Вы можете предположить, что каждый вход будет иметь ровно одно решение, и вы не можете использовать один и тот же элеме…
01 янв '23 в 21:44
0
ответов
Выражение, которое возвращает измененный список
Я ищу одно выражение, мутирую элемент и возвращаю измененный список Далее немного подробно # key=0; value=3; rng=[1,2] [(v if i != key else value) for i, v in enumerate(rng)] Изменить : Я ищу способ встроить следующую функцию в одно выражение def re…
27 янв '23 в 04:13