@nevro
не пойми кто

Как сделать сравнение со следующим элементом в массиве в духе python?

Вторая строка - почти псевдокод: "simbol[i+1]" - принес из с-подобного мира и не пойму, как сделать так в пайтоне. К тому же, этот следующий символ может оказаться за верхней границей.
inputArray = "bdfgrd gds sgsa"
result = [symbol for symbol in inputArray if symbol == simbol[i+1]]
  • Вопрос задан
  • 1323 просмотра
Пригласить эксперта
Ответы на вопрос 3
Djaler
@Djaler
Сеньор-помидор
[symbol for symbol, next_symbol in zip(inputArray, inputArray[1:]) if symbol == next_symbol]
Ответ написан
Комментировать
Alexeytur
@Alexeytur
Скорее всего так в сишном стиле и будет:
r = [a[i] for i in range(len(a)-1) if a[i]==a[i+1]]
Ответ написан
@alex-t
Прогр. в команде rco.ru
Для ответа в виде строки, или списка код чуть отличается:

>>> import functools
>>> inputArray = "sgsssa"
>>> functools.reduce(lambda a,b: a if a[-1:] == b else a + b, inputArray, '')
'sgsa'
>>> functools.reduce(lambda a,b: a if a[-1:] == [b] else a + [b], inputArray, [])
['s', 'g', 's', 'a']
>>>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы