Python 从词典中理解词典

Python 从词典中理解词典,python,dictionary-comprehension,Python,Dictionary Comprehension,我正在“测试”字典的理解力,使用字典生成其他的理解力 所以,我想保留第一个的“键”,并乘以值*2。是的,我想用理解来理解 我想达到:{4:2,7:4,8:6,9:8} 我正在尝试: dic1 = {4:1, 7:2, 8:3, 9:4} dictComp= {key:value for key in dic1.keys() for value in dic1.values() * 2} print(dictComp) 错误: Traceback (most recent call last

我正在“测试”字典的理解力,使用字典生成其他的理解力

所以,我想保留第一个的“键”,并乘以值*2。是的,我想用理解来理解

我想达到:{4:2,7:4,8:6,9:8}

我正在尝试:

dic1 = {4:1, 7:2, 8:3, 9:4}

dictComp= {key:value for key in dic1.keys() for value in dic1.values() * 2}

print(dictComp)
错误:

Traceback (most recent call last):
  File "C:\Python\file.py", line 13, in <module>
    dictComp= {key:value for key in dic1.keys() for value in dic1.values() * 2}
  File "C:\Python\file.py", line 13, in <dictcomp>
    dictComp= {key:value for key in dic1.keys() for value in dic1.values() * 2}
TypeError: unsupported operand type(s) for *: 'dict_values' and 'int'
回溯(最近一次呼叫最后一次):
文件“C:\Python\File.py”,第13行,在
dictComp={key:dic1中键的值。dic1.values()*2}
文件“C:\Python\File.py”,第13行,在
dictComp={key:dic1中键的值。dic1.values()*2}
TypeError:不支持*:“dict_values”和“int”的操作数类型
有人能帮我吗?
非常感谢

像这样使用字典理解:

In [2]: dic1 = {4:1, 7:2, 8:3, 9:4}

In [3]: new_dict = {k: v * 2 for k, v in dic1.iteritems()} # dic1.items() for Python 3

In [4]: new_dict
Out[4]: {4: 2, 7: 4, 8: 6, 9: 8}

谢谢!但是它给了我一个错误:Traceback(最后一次调用):文件“C:\Python\File.py”,第18行,在new_dict={k:v*2代表k,v在dic1.iteritems()}AttributeError:'dict'对象没有属性'iteritems'@Peter您可能正在使用
python3
,请尝试
new_dict={k:v*2代表k,v在dic1.items()}
谢谢!很好!