Python3 альтернатива приращения для выражений - PullRequest
0 голосов
/ 02 ноября 2018

Представьте себе, у меня есть index = 0, hash = '06123gfhtg75677687fgfg4', и я хочу обработать выражение как hash[i++]. Как это сделать в Python3?

Обратите внимание, мне нужно index = 1 после этого выражения. Мне нужно выражение в одну строку, если это возможно.

Ожидаемое использование ниже:

enc = bytes(enc % len(session_key))
x = bytes(data[i] ^ session_key[enc++]) + ej)
data[i] = ej = x

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете использовать itertools.count() объект, с next, чтобы дать текущее значение и увеличить его. Это правильно имитирует ++ постфиксный оператор C / C ++.

Пример:

import itertools

c = itertools.count()  # starts at 0, but can be passed a start value as argument

s = 'abc'
print(s[next(c)])
print(s[next(c)])
print(s[next(c)])

печатает a, b, c в последовательности.

...