Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python2.7.3:从列表中获取一个项,并将其作为字典中的键_Python_Dictionary - Fatal编程技术网

Python2.7.3:从列表中获取一个项,并将其作为字典中的键

Python2.7.3:从列表中获取一个项,并将其作为字典中的键,python,dictionary,Python,Dictionary,我想从列表中提取项目,并将其放入词典中 假设我们有以下内容 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)

我想从列表中提取项目,并将其放入词典中

假设我们有以下内容

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)])
for key in carList:
    otherDic = [key]["Car"]
现在,我想把单词(例如“merry”)放到字典(newDic)中,用数字作为值

另外,我想用这个新字典创建另一个字典(otherDic),它有两个键(一个是单词(例如“merry”),另一个是“Car”,稍后会取一个值

for key in newDic:
    otherDic = [key]["Car"]
我试着做到以下几点:

set([('merry', 3), ('cop', 25), ('completely', 21), ('jaw', 2), ('fiddle', 1), ('bright', 4), ('593', 1), ('asked', 22), ('additionally', 4), ('pretend', 1), ('beam', 4)])
for key in carList:
    otherDic = [key]["Car"]
但是,我得到以下错误:


TypeError:列表索引必须是整数,而不是str

您可以使用字典理解:

In [61]: l = set([('merry', 3), ('cop', 25), ('completely', 21), ('jaw', 2), ('fiddle', 1), ('bright', 4), ('593', 1), ('asked', 22), ('additionally', 4), ('pretend', 1), ('beam', 4)])

In [63]: d = {k:v for k,v in l}

In [64]: d
Out[64]:
{'593': 1,
 'additionally': 4,
 'asked': 22,
 'beam': 4,
 'bright': 4,
 'completely': 21,
 'cop': 25,
 'fiddle': 1,
 'jaw': 2,
 'merry': 3,
 'pretend': 1}
当你这么做的时候

otherDic = [key]["Car"]
您只需创建一个只包含
键的列表
[key]
,然后尝试使用
“Car”
而不是整数对其进行索引,这就是出现错误的原因

其次,如果不创建
newDic
,你就不能开始循环到这个
中,我看你在任何时候都不会这样做

无论如何,这是解决问题的错误方法。要将您的
转换为字典,您只需执行以下操作:

my_dict = {key: value for key, value in carList}
顺便说一句,这叫做词典理解。但正如@Adam Smith所指出的,这实际上相当于

my_dict = dict(carList)

这更简单…但在那之后,我不太明白你创建另一个每个值有两个键的dict是什么意思。你不能创建一个有两个键的dict,这不是它们的工作方式。你可以在这里对这个新dict的所需输出进行评论,我将编辑我的答案。

你似乎不明白字典是如何工作的。字典可以没有两个键。为什么不更改
zip
顺序,只使用
dict(carList)
?请添加示例输入和最终所需的输出。抱歉,我指的是字典中的字典在谈论两个键时,我将尝试这些建议,谢谢