如何检查对象是否为字符串类型的列表 - python
假设我有以下这些对象。
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
(字典)等等。