您的位置:

python逻辑返回问题求助(python逻辑错误有哪些)

本文目录一览:

Python中的返回值问题!!!

首先,代码有误,你想调用的应该是

sorted([4,3,2,1])

reversed([4,3,2,1])

然后,你所说的reversed的返回值类型也不正确。

sorted返回的是list,reversed返回的是iterator。

list你应该很熟悉了。iterator和list是完全不同的东西。简单的说iterator只是提供一个接口,每次迭代可以产生一个值,到没有值为止。iterator在很多语言里面都有实现。在python里面主要用在for循环和list comprehension。

iterator和list/tuple/dict/set等容器的关系:

1.python内置的容器类几乎都实现了iterator接口。

显式获取某个容器的iterator可以调用iter函数:

l = [1,2,3,4]

i = iter(l)

//现在i就是一个list iterator。可以用来遍历l这个list.

i.next() # 1

i.next() # 2

//每一个iterator都必须实现next方法。并且在没有元素时抛出StopIteration异常。

在for语句和list comprehension中,都是隐式调用了这个函数。所以可以直接

for obj in some_container:

pass

2.某些容器可以通过iterator进行初始化,比如list

l = [1,2,3,4]

i = iter(l)

l2 = list(i)

最后,没有列表和列表对象这种说法。这两者一般都是指列表对象(instance of the type list)。如果你是想说列表类(the list type)本身,可以这样得到:

type([])

或者

[].__class__

Python 中的逻辑运算符什么时候返回布尔值,什么时候不是,搞不懂,求解释

只有在while 或 if 后面才返回 布尔值

while/if a and b 等效于 while/if bool(a and b)

问一个python逻辑运算符的初级问题!

and 是短路运算符,python中,非0值都代表逻辑真,逻辑运算时返回最后运算的结果。例如:

5 and 2 ,返回最后运算的2。

2 and 5,返回5。

5 and 0,返回0。

0 and 5,还是返回0。因为0代表假,and 不再进行运算了,直接被短路,返回0