python zip()與zip(*ziped)以及list(zip(a,b))



#環境python3.7
>>> a = [0,0,1,2,4,5,6,7,5] >>> b = [0,0,1,2,4,5,6,7,5] >>> zip(a,b) <zip object at 0x08C049E0> #我們會發現:zip(a,b)返回一個 object,試着解壓縮吧 >>> c = zip(*zip(a,b)) >>> c <zip object at 0x08C04A58> #啊?解壓縮也是個object,只是后面的地址不一樣了!真的解壓出來了嗎?讓我試試 >>> (g,h) = zip(a,b) Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> (g,h) = zip(a,b) ValueError: too many values to unpack (expected 2) #壓縮之后是看不了的!那么解壓縮后呢? >>> (e,f) = c >>> (e,f) ((0, 0, 1, 2, 4, 5, 6, 7, 5), (0, 0, 1, 2, 4, 5, 6, 7, 5)) #可以確定就是解壓縮

我們會發現不是像python2中那樣了!!!

 參考地址:https://www.runoob.com/python/python-func-zip.html

 

a = [1,2,3,4,5,6,7]

b = [1,2,3,4,5,6,7]

print(zip(a,b))
for (i,j) in zip(a,b):
    print(i,j)
print(list(zip(a,b)))
for (i,j) in list(zip(a,b)):
    print(i,j)

#一直不明白,為什么明明zip(a,b)和list(zip(a,b)不一樣,但是for循環結果一樣的

#可能就類似於這個吧!
a = range(5)
print(a)

for i in a:
    print(i)

'''
輸出:
<zip object at 0x031AE6E8>
1 1
2 2
3 3
4 4
5 5
6 6
7 7
[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7)]
1 1
2 2
3 3
4 4
5 5
6 6
7 7
range(0, 5)
0
1
2
3
4
>>> 

'''

 

list(zip()) 之后元素的操作,參考博文:https://blog.csdn.net/wangxingfan316/article/details/81387652


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM