use*_*044 1 python dictionary python-2.7 dictionary-comprehension
我想做一个词典理解来获得一个内置类型str
为值的键列表.
headers = ['Header1', 'Header2', 'Header3']
print dict([(x,str) for x in headers])
Run Code Online (Sandbox Code Playgroud)
输出:
{'Header2': <type 'str'>, 'Header3': <type 'str'>, 'Header1': <type 'str'>}
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{'Header2': str, 'Header3': str, 'Header1': str}
Run Code Online (Sandbox Code Playgroud)
你这样做有内置的字典str
在里面.
这<type 'str'>
是由于print
调用将__str__
在打印时使用从调用对象获得的值.这个价值str
是<type 'str'>
.
如果您保存的字典,访问成员之一,并使用它,你会看到它是在str
类:
>>> d = dict([(x,str) for x in headers])
>>> d['Header1'](123)
'123'
Run Code Online (Sandbox Code Playgroud)