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)