Return python 中的语句在 sublime 文本编辑器中不起作用
Return statement in python not working in sublime text editor
我正在尝试 运行 在 sublime 文本编辑器中使用以下 python 功能
def match_find(data,target):
for i in data:
if i == target:
return True
else:
return False
match_find([1,2,3,5,6,5,6,6,6,4],9)
此处预期的 O/p 是错误的,但 sublime text 没有 return o/p。
而当我在 jupyter notebooks 中尝试相同的代码时,它运行良好。
我必须在 sublime 文本编辑器中启用什么功能才能return成为 o/p?
我选择了“工具 > 构建系统 > Python
和
我选择了 "Tools > Save All on Build" 选项。
sublime 没有问题,你的代码不一致。 else 属于 'for' 语句而不是 'if'。使用print语句打印出值,目前只是返回布尔值不打印任何东西
def match_find(data,target):
for i in data:
if i == target:
return True
else:
return False
print(match_find([1,2,3,5,6,5,6,6,6,4],4))
如果函数的目的只是 return 如果数据存在于目标中那么你只需要
def match_find(data, target):
return data in target
对于计数匹配,您可以使用 filter 来减少列表并使用 len 来获取过滤列表的大小
def count_match(data,target):
flist = list(filter(lambda x:x==data, target))
return len(flist)
我正在尝试 运行 在 sublime 文本编辑器中使用以下 python 功能
def match_find(data,target):
for i in data:
if i == target:
return True
else:
return False
match_find([1,2,3,5,6,5,6,6,6,4],9)
此处预期的 O/p 是错误的,但 sublime text 没有 return o/p。
而当我在 jupyter notebooks 中尝试相同的代码时,它运行良好。
我必须在 sublime 文本编辑器中启用什么功能才能return成为 o/p?
我选择了“工具 > 构建系统 > Python 和 我选择了 "Tools > Save All on Build" 选项。
sublime 没有问题,你的代码不一致。 else 属于 'for' 语句而不是 'if'。使用print语句打印出值,目前只是返回布尔值不打印任何东西
def match_find(data,target):
for i in data:
if i == target:
return True
else:
return False
print(match_find([1,2,3,5,6,5,6,6,6,4],4))
如果函数的目的只是 return 如果数据存在于目标中那么你只需要
def match_find(data, target):
return data in target
对于计数匹配,您可以使用 filter 来减少列表并使用 len 来获取过滤列表的大小
def count_match(data,target):
flist = list(filter(lambda x:x==data, target))
return len(flist)