Предположим, у меня есть список t=[3 ,3, 4, 0, 0, 3, 1, 0, 4, 3, 3, 3, 0]
и его подмножество равно
t_old=[3, 3, 4, 0, 0]
Теперь мне нужно вычислить частоту элементов, которых нет в t_old ( [3,1, 0, 4, 3, 3, 3, 0])
, которые я вычислил N={0:2,1:1,3:3,4:1}
, но после этого мне нужно отобразить эти значения в списке Nk размера 5, так что N={0:2,1:1,3:4,4:1}
так что список будет NK=[2,1,0,4,1]
0-> 2,1-> 1,2-> 0 (поскольку частота отсутствует 2), 3-> 3,4-> 1, поэтому NK is[2,1,0,4,1]
также порядок важен
Мой код
from collections import Counter, defaultdict
import operator
t=[3 ,3, 4, 0, 0, 3, 1, 0, 4, 3, 3, 3, 0]
t_old=[3 ,3, 4, 0, 0]
cluster=5
nr=[]
k=len(t)-len(t_old)
print("Value of k is\n",k)
z=len(t_old)
while(k):
nr.append(t[z])
z+=1
k-=1
print("Value of z is\n",nr)
nr=Counter(nr) #Counter that calculates the item that are not in t_old
print("counter is\n",nr)
d1 = dict(sorted(nr.items(), key = lambda x:x[0])) #Sorting the nr according to the key
print("Value of sorted dictonary is\n",d1)
Итак, я хочу вывод в виде списка
NK is[2,1,0,4,1]
как я могу получить этот вывод, пожалуйста, помогите заранее