【发布时间】:2018-11-17 18:41:10
【问题描述】:
我有一本字典 -
d = dict(
0='a',
1='b',
2='c'
)
如何判断 d 是否是 dict 类型的 (int, str)?
在 C# 中是这样的:
d.GetType() == typeof(Dictionary<int, string>)
【问题讨论】:
-
字典没有特定的类型。
-
您可以混合和匹配不同类型的键和值。
d = {0:'a', 'foo': 1} -
这不是定义python dict的有效方法
-
如前所述,dicts 是异质的,你必须检查每个项目以确保,例如
[(type(k),type(v)) for k,v in d.items()] -
这不是你做鸭子打字的方式。 Python 不关心它是否是特定类型,它关心它是否行为 像某个特定类型。
标签: python dictionary types isinstance