Вообще говоря, если вы обрабатываете элементы в списке и вам нужно посмотреть на соседей текущего элемента, вы захотите использовать enumerate
, так как enumerate
дает вам и текущий элемент, иего позиция в списке.
В отличие от подходов, использующих zip
, это понимание списка не требует дублирования списка:
print [s for i, s in enumerate(test[:-1]) if s == test[i + 1]]
Обратите внимание, что произойдет сбой, если неткак минимум два элемента в test
, и этот test
должен быть списком.(Подходы zip
будут работать на любой итерации.)