pyt*_*tus 2 python generator python-3.x
学习python,遇到了zip函数,并了解它应该构建两对列表.但是,它似乎在我的IDE中不起作用.
a = ['a','b','c']
b = ['p','q','r']
r = zip(a,b)
print(r)
Run Code Online (Sandbox Code Playgroud)
在这里,我期望打印[('a','p'),('b','q'),('c','r')].但是,打印输出是:<zip object at 0x011E57D8>
为什么这样,我做错了什么?
您正在使用Python 3.在Python 3中,zip()返回迭代器而不是列表.
迭代器评估是懒惰的:一次只返回一个项目,但没有__len__.迭代器最适合循环:实际上,大部分时间zip()都将在循环中使用,一次只需要一个项目,节省内存和CPU周期.
只是尝试list(zip(a,b))强制将迭代器的评估放入列表中.
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |