假设我有这样一个Python字典:
{'To Kill a Mockingbird': ('Fiction', 11.99, 89), 'Killing Lincoln': ('Nonfiction', 15.99, 85), ... }我怎样才能通过把小说和非小说书籍的种类加起来来增加一本新的词典呢?
我将从这样一本空字典开始:
temp = {'Fiction': 0, 'Nonfiction': 0}换句话说,假设我有5本小说书和17本非小说类书籍,我想要的是
newTemp = {'Fiction': 5, 'Nonfiction': 17}我有点困惑如何访问钥匙,看看它们是如何匹配的。
谢谢!
发布于 2020-04-12 23:57:33
a = {'To Kill a Mockingbird': ('Fiction', 11.99, 89), 'Killing Lincoln': ('Nonfiction', 15.99, 85)}
dic = {'Fiction':0, 'Nonfiction':0}
for index, value in a.items():
if value[0] in dic.keys():
dic[value[0]]+=1
print(dic)
# output {'Fiction': 1, 'Nonfiction': 1} 或其他方式
from collections import Counter
a = {'To Kill a Mockingbird': ('Fiction', 11.99, 89), 'Killing Lincoln': ('Nonfiction', 15.99, 85)}
sol = Counter(map(lambda x:x[0], a.values()))发布于 2020-04-12 23:57:00
您想要计数的字符串不是键--图书的标题是字典中的键。类型是值的一部分。数一数很容易:
from collections import Counter
dct = {'To Kill a Mockingbird': ('Fiction', 11.99, 89), 'Killing Lincoln': ('Nonfiction', 15.99, 85) }
c = Counter(x[0] for x in dct.values())
print(c)发布于 2020-04-12 23:56:54
x = {'To Kill a Mockingbird': ('Fiction', 11.99, 89), 'Killing Lincoln': ('Nonfiction', 15.99, 85)}
cnt = {}
for val in x.values():
cnt[val[0]] = cnt.get(val[0], 0) + 1
print(cnt)https://stackoverflow.com/questions/61179692
复制相似问题