-
Notifications
You must be signed in to change notification settings - Fork 1
/
del_occurences_if_occurs_more_than_n_times.py
40 lines (31 loc) · 1.45 KB
/
del_occurences_if_occurs_more_than_n_times.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def delete_nth(order, max_e):
"""[Delete occurrences of an element if it occurs more than n times]
[Enough is enough!
Alice and Bob were on a holiday. Both of them took
many pictures of the places they've been, and now they
want to show Charlie their entire collection. However, Charlie
doesn't like this sessions, since the motive usually repeats.
He isn't fond of seeing the Eiffel tower 40 times. He tells
them that he will only sit during the session if they show the
same motive at most N times. Luckily, Alice and Bob are able to
encode the motive as a number. Can you help them to remove numbers
such that their list contains each number only up to N times, without
changing the order?
Task
Given a list lst and a number N, create a new list that contains
each number of lst at most N times without reordering. For example if
N = 2, and the input is [1,2,3,1,2,1,2,3], you take [1,2,3,1,2], drop
the next [1,2] since this would lead to 1 and 2 being in the result 3
times, and then take 3, which leads to [1,2,3,1,2,3].
Example
delete_nth ([1,1,1,1],2) # return [1,1]
delete_nth ([20,37,20,21],1) # return [20,37,21]]
Arguments:
order {[type]} -- [description]
max_e {[type]} -- [description]
"""
final_list = []
for photo in order:
if final_list.count(photo) < max_e:
final_list.append(photo)
return(final_list) # works