【发布时间】:2019-07-10 17:58:20
【问题描述】:
我有一个字符串列表:
A = [
'philadelphia court excessive disappointed court hope hope',
'hope hope jurisdiction obscures acquittal court',
'mention hope maryland signal held mention problem internal reform life bolster level grievance'
]
另一个列表为:
B = ['court', 'hope', 'mention', 'life', 'bolster', 'internal', 'level']
我想根据字符串列表A 中列表词B 的出现次数创建字典。类似的,
C = [
{'count':2,'hope':2,'mention':0,'life':0,'bolster':0,'internal':0,'level':0},
{'count':1,'hope':2,'mention':0,'life':0,'bolster':0,'internal':0,'level':0},
{'count':0,'hope':1,'mention':2,'life':1,'bolster':1,'internal':1,'level':1}
]
我喜欢什么,
dic={}
for i in A:
t=i.split()
for j in B:
dic[j]=t.count(j)
但是,它只返回最后一对字典,
print (dic)
{'court': 0,
'hope': 1,
'mention': 2,
'life': 1,
'bolster': 1,
'internal': 1,
'level': 1}
【问题讨论】:
-
“我想创建字典”实际上不是真的,您正在尝试创建字典列表。因此需要将字典附加到列表中。还要注意初始化
dic的位置。请检查我的答案。 -
您可能会使用
collections.Counter稍微改进您的代码,而不是自己明确地计算内容。
标签: python python-3.x list dictionary