这是旧版Python中的字典吗?

时间:2010-09-27 01:45:57

标签: python

我是Python新手,正在阅读2009年出版的一本书,所以使用Python 2.5语法。它执行以下操作:

_fields_ = [
    ("cb", DWORD),
    ("lpReserved", LPTSTR),
    ...
]

对我而言,它看起来像一个元组列表,但同时感觉就像一个地图/字典。这是旧语法吗?

3 个答案:

答案 0 :(得分:6)

这是非常好的,当前的语法,并表示对的列表(两项元组)。如果你需要一个字典(并且没有重复键的问题;-),dict(_fields_)会使你成为一个(很像somedict.items()使你成为一个字典对的列表 - list(somedict.items())如果您使用的是Python 3,但坚持获取列表而不仅仅是视图/迭代器,顺便说一下; - )。

答案 1 :(得分:4)

不,这总是一个元组列表。对于ctypes而言,这看起来像是一个数据类型“mapping”,但它只是一个列表,而不是一个真实的地图。

答案 2 :(得分:3)

不,那只是一个元组列表。 Python中的字典总是使用{}表示法。