Удалить элементы из массива, которые появляются более k раз - PullRequest
1 голос
/ 26 апреля 2020

Эта программа выдаёт вывод как

1 6 7 9 11

как я могу сделать так, чтобы вывод выводился как

[1, 6, 7, 9, 11]

Код:

def RemoveElements(my_lst2, n, k): 

    mp = {i:0 for i in range(len(my_lst2))} 

    for i in range(n): 
        mp[my_lst2[i]] += 1

    for i in range(n): 
        if (mp[my_lst2[i]] <= 1): 

            print(my_lst2[i], end = " ",)
if __name__ == '__main__': 
    my_lst2 = [0,1,2,3,2,3,4,5,4,5,6,7,9,11,0,5]
    n = len(my_lst2)
    k = 2

RemoveElements(my_lst2, n, k)

1 Ответ

0 голосов
/ 26 апреля 2020

Прямо сейчас вы делаете print(my_lst2[i], end = " ",), который распечатывает это, как вы в настоящее время. Если вы сохраните my_lst2[i] в списке, а затем распечатаете этот список, вы получите то, что хотите.

def RemoveElements(my_lst2, n, k):

    mp = {i:0 for i in range(len(my_lst2))}

    for i in range(n):
        mp[my_lst2[i]] += 1

    l = []

    for i in range(n):
        if (mp[my_lst2[i]] <= 1):
            l.append(my_lst2[i])

    print(l)
...