Python 如何确定索引是否为列表/数组?
我基本上是想弄清楚一个指定的索引是否是一个列表。我在索引中嵌入了一个列表 这就是我目前所拥有的Python 如何确定索引是否为列表/数组?,python,arrays,list,indexing,Python,Arrays,List,Indexing,我基本上是想弄清楚一个指定的索引是否是一个列表。我在索引中嵌入了一个列表 这就是我目前所拥有的 如果len(哈希表[hashTable[hashed-1])>1: 哈希表[hashed-1]。追加(无效) 其他: 诱惑=[hashTable[hashed-1],无效] hashTable[hashed-1]=可诱惑 打印(无效,散列) 打印(哈希表) 列表的输出为:(0和10不相关) [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,0,
如果len(哈希表[hashTable[hashed-1])>1:
哈希表[hashed-1]。追加(无效)
其他:
诱惑=[hashTable[hashed-1],无效]
hashTable[hashed-1]=可诱惑
打印(无效,散列)
打印(哈希表)
列表的输出为:(0和10不相关)
[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,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]
错误是:
如果len(哈希表[hashTable[hashed-1])>1:
TypeError:类型为“int”的对象没有len()
必须使用,以检查对象是否为列表类型,如下所示:
isinstance(hashTable[hashed-1], list)
就你而言:
if isinstance(hashTable[hashed-1], list) and len(hashTable[hashed-1]) > 1
Python使用惰性求值来求值此if语句中的条件。因此,只有当isinstance(hashTable[hashed-1],list)
为True
时,才会调用len(hashTable[hashed-1])
,以检查对象是否为列表类型,如下所示:
isinstance(hashTable[hashed-1], list)
就你而言:
if isinstance(hashTable[hashed-1], list) and len(hashTable[hashed-1]) > 1
Python使用惰性求值来求值此if语句中的条件。因此,只有当
isinstance(hashTable[hashed-1],list)
为True时才会调用len(hashTable[hashed-1])
是int,而不是list,因此如果isinstance(hashTable[hashed-1],list)和len(hashTable[hashed-1]),请尝试>1
查看我的评论或@massifox给出的答案谢谢,if-isinstance(hashTable[hashed-1],list)有效hashTable[hashed-1]
是一个int,而不是list,因此出现错误,请尝试if-isinstance(hashTable[hashed-1],list)和len(hashTable[hashed-1])>1
查看我的评论或@massifox给出的答案谢谢,if isinstance(哈希表[hashTable[hashed-1],列表)非常感谢您。没想到这么简单:)谢谢。没想到事情就这么简单:)