[Tutor] Duplicate items in list

Manprit Singh manpritsinghece at gmail.com
Fri Oct 9 12:50:17 EDT 2020


Dear Sir ,

And another try to write it in the form of a generator function as given
below :
(Just want to share it with you ).

def remove_cons(lst):
    for i, j in enumerate(lst[:-1]):
        if lst[i+1] != j:
            yield j
    yield lst[-1]

lst1 = [3, 3, 5, 5, 5, 6, 6, 6, 5, 9, 3, 3, 3, 5]
for i in remove_cons(lst1):
    print(i)


On Fri, Oct 9, 2020 at 10:10 PM Mats Wichmann <mats at wichmann.us> wrote:

> 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 :)
>
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>


More information about the Tutor mailing list