Предположим, что листДубликаты счетные с заказом сохраняющего в Python списки
[7,7,7,7,3,1,5,5,1,4]
Я бы например, удалять дубликаты и подсчитывать их при сохранении порядка списка. Для того, чтобы сохранить порядок списка удаления дубликатов я использую функцию
def unique(seq, idfun=None):
# order preserving
if idfun is None:
def idfun(x): return x
seen = {}
result = []
for item in seq:
marker = idfun(item)
if marker in seen: continue
seen[marker] = 1
result.append(item)
return result
, что дает мне выходного
[7,3,1,5,1,4]
, но желаемый результат я хочу бы (в окончательном списке может существует):
[7,3,3,1,5,2,4]
7 написано потому, что это первый элемент в списке, тогда проверяется, отличается ли оно от предыдущего. Если ответ да, подсчитайте вхождения одного и того же элемента, пока не будет найден новый. Затем повторите процедуру. Кто-нибудь более опытный, чем я, который мог бы дать мне подсказку, чтобы получить желаемый результат, указанный выше? Спасибо заранее
Я думаю, что вы имеете в виду '7,4' –
Вы уверены, что ваш желаемый список выходной верно? Например, если есть только одно значение, оставьте это количество? –
Я хотел бы поблагодарить всех, кто проводил время, отвечая, теперь у меня есть лучшие подсказки о списках и словарях. На самом деле код в ответе выводит то, что я хочу: [7,4,3,1,5,2,1,4], но и другие ответы в некотором роде решают мою проблему. Спасибо большое! – user3782691