我制作了一个表索引函数:
#test table
array = [
['t',2,3,4],
['y',6,7,8],
['g',10,11,12]
]
def findrow(table, num):
for i, x in enumerate(table):
if num in x:
row = i
return row
findrow(array,'t')返回
0 #correct
findrow(array,10)
404
我的功能无法在数组中搜索数字。我不确定是什么引起了这个问题。
我修复/删除了404部分(最初是作为输出的HTML页面的调试返回添加的。我认为该值仍然是非类型
def check(value):
index = (value)
row = findrow(array, index)
if row >= len(array):
return "not in table"
return row
TypeError: '>=' not supported between instances of 'NoneType' and 'int'
答案 0 :(得分:1)
return
404
您找不到num
的第一行return 404
。将return i
移动到for-loop正文之外,并在发现它的情况下移动def findrow(table, num):
for i, x in enumerate(table):
if num in x:
return i
return 404
。
var results = [];
var query = conn.query(q, function(error, result){
for (var i = 0; i < result.rowCount; i++) {
results.push(result.rows[i]);
}
console.log(results); // results is not empty here
} );
// console.log(results); // results is empty here
答案 1 :(得分:0)
# your 404 return is not in the right place.This should work.
def findrow(table, num):
for i, x in enumerate(table):
if num in x:
row = i
return row
return 404
答案 2 :(得分:0)
def findrow(table, num):
for i, x in enumerate(table):
if num in x:
return i
else:
return 404
我认为这会更容易理解。