Python 使用列表和字典的所需输出
我有一份清单和一本字典,内容如下:Python 使用列表和字典的所需输出,python,list,dictionary,count,Python,List,Dictionary,Count,我有一份清单和一本字典,内容如下: lista = [ ['Pasta', 'is', 'bad'], ['Pasta', 'is', 'good', 'and','is','expensive'] ] dica = { 'Pasta': 0, 'is': 0, 'bad': 0, 'good': 0, 'and': 0, 'expensive': 0 } 我想获取列表中的每个子列表,并将字典应用于它,创建一个字典列表
lista = [
['Pasta', 'is', 'bad'],
['Pasta', 'is', 'good', 'and','is','expensive']
]
dica = {
'Pasta': 0,
'is': 0,
'bad': 0,
'good': 0,
'and': 0,
'expensive': 0
}
我想获取列表中的每个子列表,并将字典应用于它,创建一个字典列表-每个列表一个字典-其中每个键的值是该键在子列表中出现的次数
fin_dict = {
{
'Pasta': 1,
'is': 1,
'bad': 1,
'good': 0,
'and': 0,
'expensive': 0
},
{
'Pasta': 1,
'is': 2,
'bad': 0,
'good': 1,
'and': 1,
'expensive': 1
}
}
我在下面的脚本中解释了细节:
lista=[['意大利面'、'是'、'坏']、['意大利面'、'是'、'好'、'和'、'是'、'贵']]
dica={'意大利面:0,'is':0,'bad':0,'good':0,'and':0,'priced':0}
#创建一个空数组来存储字典。
myList=[]
对于范围内的i(len(lista)):
#在每次迭代中附加'dica',以获得对它的引用。
myList.append(dica)
#遍历'dica'键。
对于dica中的密钥:
#遍历lista中的列表元素。
对于lista[i]中的listElem:
#检查'key'是否等于列表中的值,
#换句话说,统计列表元素的出现次数。
如果键==列表项:
myList[i][key]+=1
打印(myList)
注意:据我所知,您请求的输出类型是不可能的,我还认为您无意使用字典
,因此我将其输出到列表中
输出:
[{'意大利面食:2'is':3'bad':1'good':1'和:'1'昂贵:1},{'意大利面食:2'is':3'bad':1'good':1'和:'1'昂贵:1}]
试试这个:
def count_items(dic, lst):
counts = dict(dic)
for x in lst:
counts[x] += 1
return counts
lista=[['Pasta', 'is', 'bad'],['Pasta', 'is', 'good', 'and','is','expensive']]
dica={'Pasta': 0,'is': 0,'bad': 0,'good': 0,'and': 0,'expensive': 0}
print([count_items(dica, lista[0]), count_items(dica, lista[1])])
# prints [{'Pasta': 1, 'is': 1, 'bad': 1, 'good': 0, 'and': 0, 'expensive': 0}, {'Pasta': 1, 'is': 2, 'bad': 0, 'good': 1, 'and': 1, 'expensive': 1}]
(此解决方案假设fin_dict是一个列表,输入列表中的所有项目都在字典中。)您上面写的内容将生成一组dict
。这就是你想做的吗?输出无效PythonYeah它正在创建一组dict,我不介意它是否有帮助我相应地更改了代码:def sub_list(a):x=dict(dica)for i in a:x[i]+=1 return x fin_list=[sub_list(i)for i in lista]print(fin_list)