[Tutor] Duplicate items in list

Mats Wichmann mats at wichmann.us
Fri Oct 9 12:40:42 EDT 2020


On 10/9/20 10:16 AM, Mats Wichmann wrote:
> On 10/9/20 9:37 AM, Manprit Singh wrote:
>> Dear sir,
>>
>> Consider a list as given below :
>>
>> lst = [3, 3, 5, 5, 5, 6, 6, 6, 5, 9, 3, 3, 3, 5, 5]
>> I need to print the values  as given below  and in same order:
>>
>> 3       # print 3 only once as there are two occurrence of 3 in the
>> beginning  in list
>> 5       # print 5 only once as there are 3 occurrence of 5 after 3 in the
>> list
>> 6       # print 6 only once as there are 3 occurrence of 6 after 5 in the
>> list
>> 5       # print 5 only once as there is single occurrence of 5 after 6 in
>> the list
>> 9       # print 9 only once as there is single occurrence of 9 after 5 in
>> the list
>> 3       # print 3 only once as there  are 3 occurrence of 3 after 9 in the
>> list
>> 5       # print 5 only once as there are 2 occurrence of 5 in the last
>>
>> I have written the code as given below:
>> lst = [3, 3, 5, 5, 5, 6, 6, 6, 5, 9, 3, 3, 3, 5, 5]
>> for i, j in enumerate(lst[:-1]):
>>     if lst[i+1] != j:
>>         print(j)
>> print(lst[-1])
>>
>> which gives the answer as given above
>> I feel that a better code can be written for this problem , Need your
>> guidance.
> 
> Turns out there are a ton of ways to get the unique values from a list.

It also helps if you grasp the whole problem, sigh... you don't want
unique values per se, you just want to remove consecutive duplicates.
That wants a different answer.  If someone else doesn't pop up, I might
swing back and look at the actual question later :)




More information about the Tutor mailing list