如何:
if myList[k][m]:
# step through each item of the subset
while i < len(myList[k][m]):
...
以上不起作用。我想检查该列表的第二维是否存在(&#39; m&#39;)。
答案 0 :(得分:1)
您可以使用try块:
try:
for sublist in mylist:
for item in sublist:
pass # do stuff
except TypeError:
pass # handle stuff here
可替换地:
if hasattr(object, '__contains__'):
pass # the object is iterable!
您必须将它应用于您想要测试可迭代性的每个对象。
检查&#39;&#39;尺寸:
if hasattr(myList, '__contains__'): # this is sufficient
pass # myList is iterable
else:
raise TypeError
如果您只是想检查第二个维度(&#39; m&#39;):
if all([hasattr(sublist, '__contains__') for sublist in myList]):
pass # myList[_] is iterable
else:
raise TypeError # handle stuff here
答案 1 :(得分:0)
这个怎么样:
for line in your_list:
for element in line:
assert element > whatever
答案 2 :(得分:0)
if myList[k] and isinstance(myList[k], list) and myList[k][m]:
pass #do stuff
if len(myList) > k and isinstance(myList[k], list) and len(myList[k]) > m:
pass #do stuff
这些都有效吗?
编辑:添加检查以查看myList [k]是否为列表
答案 3 :(得分:-1)
python中的列表与其他编程语言中的二维数组略有不同。要检查列表是否具有第一个维度,您可以尝试键入
if len(myList) > 0:
# Your Code here
现在在一个列表中,其中每个元素在另一个列表或二维列表中 - 列表中的每一行都可以有一个可变数量的列,这与列说的不同
Integer[][] array = new Integer[10][10]
用Java或其他类似语言编写。因此,您必须检查列表中每个元素的尺寸。
if len(myList) > 0:
for i in range(len(myList)):
if len(myList[i]) > 0:
for j in range(len(myList[i])):
# Do something with myList[i][j]