程序如下
def solution(lst):
return lst and [sum([1 for i in lst if i>0]),sum([i for i in lst if i<0])]
print(solution([92, 6, 73, -77, 81, -90, 99, 8, -85, 34]))
不解,为啥两个列表求and,原理是什么求大佬解答...
在运行中发现:列表and运算,如果第一个为空列表[]则返回[]空列表,如果第一个不为空,则放回and后面的列表。
发现这种现象后,运行了列表or运算,如果第一个列表不为空则返回第第一列表,如果第一个列表为空就返回第二个列表,同时为空就返回空列表。