Отображение значений ключа словаря в списке - PullRequest
0 голосов
/ 26 июня 2018

Предположим, у меня есть список 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]

как я могу получить этот вывод, пожалуйста, помогите заранее

1 Ответ

0 голосов
/ 26 июня 2018
>>> from collections import Counter
>>> t=[3 ,3, 4, 0, 0, 3, 1, 0, 4, 3, 3, 3, 0]
>>> t_old=[3, 3, 4, 0, 0]
>>> N = Counter(t) - Counter(t_old)
>>> Nk = [N.get(i,0) for i in range(5)]
>>> Nk
[2, 1, 0, 4, 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...