如何检查对象是否为字符串类型的列表 - python

4 投票
1 回答
5571 浏览
提问于 2025-04-18 09:37

假设我有以下这些对象。

    d = ["foo1", "foo2", "foo3", "foo4"]

    c = 1

    a = ["foo1", 6]

我想检查一下某个对象是否是特定类型的列表。如果我想检查 d 是否是一个列表,并且这个列表里面包含字符串,我该怎么做呢?

在这个检查中,d 应该通过,但 c 和 a 应该不通过。

1 个回答

14
 d = ["foo1", "foo2", "foo3", "foo4"]
 print isinstance(d,list) and all(isinstance(x,str) for x in d)
 True
 d = ["foo1", "foo2", 4, "foo4"]
 print isinstance(d,list) and all(isinstance(x,str) for x in d)
 False

如果 d 是一个 list(列表),并且这个列表里的每一个元素都是字符串,那么它会返回 True。你可以用 isinstance 来检查其他类型,比如 int(整数)、dict(字典)等等。

撰写回答