【问题标题】:dictionary key type confusion isinstance python [duplicate]字典键类型混淆isinstance python [重复]
【发布时间】:2019-04-18 12:16:23
【问题描述】:

我无法理解以下执行。我期待不同的结果。

>>> f = {'ms':'ma'}
>>> isinstance(f['ms'], type(str))
False

>>> isinstance(f['ms'], type(dict))
False

>>> type(f['ms'])
<class 'str'>

【问题讨论】:

  • type(str) 返回type,因此您正在检查f['ms'] 是否是type 的实例,而不是str 的实例。如果您想检查某个内容是否为字符串,请使用isinstance(f['ms'], str)

标签: python dictionary


【解决方案1】:

我想你只是想要这个:

>>> f = {'ms':'ma'}
>>> isinstance(f['ms'], str)
True

你不需要type(str)

【讨论】:

    【解决方案2】:

    type(str)type(dict) 均返回 type,因此您正在检查您的对象是否是 type 的实例,而它们不是。

    如果要检查某个内容是否为字符串,请使用

    isinstance(f['ms'], str)
    

    不是

    isinstance(f['ms'], type(str))
    

    如果你想测试某个东西是否是dict,你可以使用

    isinstance(f['ms'], dict)
    

    不是

    isinstance(f['ms'], type(dict))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 2022-06-17
      • 2021-02-14
      • 2019-05-12
      相关资源
      最近更新 更多