python 2.7:知道它是列表列表还是列表列表

时间:2013-03-22 08:18:53

标签: python python-2.7

脚本正在向我提供列表列表或列表列表。 我打算做的是打电话给这个

test = myList[0][0][0]

如果引发异常,我会知道它是列表列表。

有更好/正确的方法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

我不确定它是否更好/更合适,但您也可以测试某些内容是否为包含isinstancetype功能的列表。

例如

a = [1,2,3]
b = (1,2,3) # Not a list

type(a) == type([])   # True
type(b) == type([])   # False

type(a) is list       # True
type(b) is list       # False

isinstance(a, list)   # True
isinstance(b, list)   # False

第一种方法可能并不理想,如果您使用type,第二种方法可能会更好,但我认为普遍的共识是isinstance通常更好。

编辑:Some discussion about the difference between the two approaches

所以,我想你的代码看起来像是:

if(isinstance(myList[0][0], list)):
    # Use myList[0][0][0]
else:
    # Use myList[0][0]