sorted函数两次调用zip生成对象后输出为空
来源:2-4 如何根据字典中值的大小, 对字典中的项排序
otod123
2018-11-29
# -*- coding: utf-8 -*
from random import randint
dic = {x : randint(60,100) for x in 'xyzabc'}
print (dic)
re = zip(dic.values(),dic.keys())
print(sorted(re))
print (sorted(re,reverse = True))
#老师,请问一下,这段代码中为什么最后一个print输出的是空列表
写回答
2回答
-
程序员硕
2018-12-10
re是迭代器, 第一次sorted把它消耗了, 第二次就空了.
10 -
Lchyang
2018-11-30
因为你第一次调用的时候没有把sorted(re)这个对象赋值给另一个参数,然后python的垃圾回收机制把这个对象回收了,所以你第二次调用的时候为None s= sorted(re)) print(s)这样就可以了
00
相似问题
3-3生成器对象问题
回答 1
sorted 传参数问题
回答 1