猿问

如何确定索引是否为列表/数组?

我本质上是在尝试确定指定的索引是否是列表。我有一个嵌入到索引中的列表。


这是我到目前为止所拥有的


    if len(hashTable[hashed-1])>1:

        hashTable[hashed-1].append(inVal)

    else:

        tempTable = [hashTable[hashed-1], inVal]  

        hashTable[hashed-1] = tempTable

        print(inVal,hashed)

        print(hashTable)

列表的输出是:(0 和 10 无关)


[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 3], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]

错误是:


    if len(hashTable[hashed-1])>1:

TypeError: object of type 'int' has no len()


莫回无
浏览 121回答 1
1回答

慕码人2483693

您必须使用isinstance来检查您的对象是否为列表类型,如下所示:isinstance(hashTable[hashed-1], list)在你的情况下:if isinstance(hashTable[hashed-1], list) and len(hashTable[hashed-1]) > 1Python 使用惰性评估来评估此 if 语句中的条件。所以只有在islen(hashTable[hashed-1])时才会被调用。isinstance(hashTable[hashed-1], list)True
随时随地看视频慕课网APP

相关分类

Python
我要回答