我想从列表中取出项目并将它们放入字典中。
说我们有以下
carList = set(zip(carWordList, carWordFreq))
注意:我使用set删除重复项
因此carList将产生以下内容:
set([('merry', 3), ('cop', 25), ('completely', 21), ('jaw', 2), ('fiddle', 1), ('bright', 4), ('593', 1), ('asked', 22), ('additionally', 4), ('pretend', 1), ('beam', 4)])
现在我想接受这些词(例如' merry')并将它们设置为字典(newDic),并将数字作为值。
另外,我想用新词典创建另一个有两个键的词典(otherDic)(一个是单词(例如' merry'),另一个是" Car&#34 ;,稍后会取值
for key in newDic:
otherDic = [key]["Car"]
我尝试执行以下操作:
for key in carList:
otherDic = [key]["Car"]
但是,我收到以下错误:
TypeError:list indices必须是整数,而不是str
答案 0 :(得分:2)
当你这样做时
otherDic = [key]["Car"]
您只是创建一个仅包含[key]
的列表key
,然后您尝试使用"Car"
而不是整数对其进行索引,这就是您收到错误的原因
其次,如果没有创建我在任何时候看不到您的for key in newDic:
,就无法开始循环到此newDic
。
无论如何,这是解决问题的错误方法。要将set
转换为字典,您只需执行此操作:
my_dict = {key: value for key, value in carList}
顺便说一下这就是字典理解。但正如@Adam Smith所指出的,这实际上相当于
my_dict = dict(carList)
哪个更简单...但在那之后,我不太明白你的意思是创建另一个每个值有2个键的字典。你不能用2个键创建一个dict,这不是它们的工作方式。你可以在这里评论这个新词典的期望输出,我将编辑我的答案。
答案 1 :(得分:-1)
您可以使用词典理解:
Phone Num No of answer
01755677011 0,23
01755677012 1