为什么这段代码什么都没有返回?
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)
答案 0 :(得分:3)
reversed()
returns an iterator。这是函数创建的特殊对象,可以迭代一次,以相反的顺序给出结果。这意味着第二次尝试迭代它时,它不再有任何内容。
如果要多次迭代结果,则必须将其转换为实际集合,方法是将其传递给list
或tuple
。