小问题,关于函数返回值
if len(list(res)) >0return list(res) elsereturn 0这个还有什么高大上的写法吗 感觉有些啰嗦 可以这样写
if list(res) :
return list(res)
else:
return 0
不知道是否还有更好的了 本帖最后由 isdkz 于 2023-4-17 14:55 编辑
当然可以用更简洁的方法来实现相同的功能。这里是一个用 Python 的三元操作符实现的简化版本:
return list(res) if len(list(res)) > 0 else 0
但是如果你想要进一步减少不必要的列表转换,可以采用以下写法:
return next(iter(res), 0)
这里使用了 next() 函数和 iter() 函数。iter(res) 创建了一个 res 的迭代器,然后 next() 函数尝试获取迭代器中的第一个元素,
如果迭代器为空(即 res 为空),则返回 0。这样,你可以避免在 res 为空时多次转换为列表。
不得不说,GPT是真的强呀,next(iter(res), 0) 这种写法我是真没想到{:5_106:} 牛
页:
[1]