我尝试使用列表推导而不是标准循环来在 python 中定义一个函数。在这里,我想编写一个函数 ,get_index(CS, alpha)它将列表 CS 和阈值 alpha 作为输入,并返回第一个元素的位置索引,例如CS[index] > alpha。
例如:
CS = [0, 0, 0, 0, 1, 0, 1, 4, 9, 8, 12, 13, 12, 10, 9, 7, 9]
alpha = 12
assert get_index(CS, alpha) == 11
如果在 CS 中没有找到这样的元素,该函数应该返回 -1。
我的以下代码由于SyntaxError: invalid syntax.
def get_index(CS, alpha):
return i for i, v in enumerate(CS) if v > alpha
return -1
但如果我把它放在一个标准循环中,它就可以工作,比如:
def get_index(CS, alpha):
for i, v in enumerate(CS):
if v > alpha:
return i
return -1
我无法区分并试图找出原因。欣赏你的想法。谢谢你。
梦里花落0921
哆啦的时光机
相关分类