zip()的目的是映射多個容器的相似索引,以便可以將它們用作單個實體使用。
用法:
zip(*iterators)
參數:
Python iterables or containers ( list, string etc )
返回值:
Returns a single iterator object, having mapped values from all the
containers.
# Python code to demonstrate the working of
# zip()
# initializing lists
name = [ "Manjeet", "Nikhil", "Shambhavi", "Astha" ]
roll_no = [ 4, 1, 3, 2 ]
marks = [ 40, 50, 60, 70 ]
# using zip() to map values
mapped = zip(name, roll_no, marks)
# converting values to print as set
mapped = set(mapped)
# printing resultant values
print ("The zipped result is:",end="")
print (mapped)
輸出:
The zipped result is:{('Shambhavi', 3, 60), ('Astha', 2, 70), ('Manjeet', 4, 40), ('Nikhil', 1, 50)}
如何解壓縮?
解壓縮意味著將壓縮後的值轉換回原樣。這是在“*”運算符的幫助下完成的。
# Python code to demonstrate the working of
# unzip
# initializing lists
name = [ "Manjeet", "Nikhil", "Shambhavi", "Astha" ]
roll_no = [ 4, 1, 3, 2 ]
marks = [ 40, 50, 60, 70 ]
# using zip() to map values
mapped = zip(name, roll_no, marks)
# converting values to print as list
mapped = list(mapped)
# printing resultant values
print ("The zipped result is:",end="")
print (mapped)
print("\n")
# unzipping values
namz, roll_noz, marksz = zip(*mapped)
print ("The unzipped result:\n",end="")
# printing initial lists
print ("The name list is:",end="")
print (namz)
print ("The roll_no list is:",end="")
print (roll_noz)
print ("The marks list is:",end="")
print (marksz)
輸出:
The zipped result is:[('Manjeet', 4, 40), ('Nikhil', 1, 50), ('Shambhavi', 3, 60), ('Astha', 2, 70)] The unzipped result: The name list is:('Manjeet', 'Nikhil', 'Shambhavi', 'Astha') The roll_no list is:(4, 1, 3, 2) The marks list is:(40, 50, 60, 70)
實際應用程序:可以說有許多可能的應用程序是使用zip壓縮的,無論是學生數據庫還是計分卡,還是需要組映射的任何其他實用程序。下麵展示了一個記分卡的小例子。
# Python code to demonstrate the application of
# zip()
# initializing list of players.
players = [ "Sachin", "Sehwag", "Gambhir", "Dravid", "Raina" ]
# initializing their scores
scores = [100, 15, 17, 28, 43 ]
# printing players and scores.
for pl, sc in zip(players, scores):
print ("Player: %s Score:%d" %(pl, sc))
輸出:
Player: Sachin Score:100 Player: Sehwag Score:15 Player: Gambhir Score:17 Player: Dravid Score:28 Player: Raina Score:43
相關用法
注:本文由純淨天空篩選整理自manjeet_04大神的英文原創作品 zip() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。