0

为什么这段代码什么也不返回?

a = [1,2,3]

a = reversed(sorted(a))
s = sum(a)

for k in a:
    print(k)

不过,这段代码可以正常工作:

a = [1,2,3]

a = reversed(sorted(a))
# s = sum(a)

for k in a:
    print(k)
4

1 回答 1

3

reversed() 返回一个迭代器。这是函数创建的一个特殊对象,可以迭代一次,以相反的顺序给出结果。这意味着您第二次尝试迭代它时,它不再有任何内容。

如果要多次迭代结果,则必须通过将其传递给listor将其转换为实际集合tuple

于 2013-04-07T13:02:39.007 回答