从数组中删除出现次数超过 k 次的元素
Remove elements from the array which appear more than k times
该程序给出的输出为
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)
现在您正在执行 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)
该程序给出的输出为
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)
现在您正在执行 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)