Python zip()方法 获取iterable或containers并返回一个迭代器对象,该对象具有来自所有容器的映射值。
null
习惯了 映射多个容器的相似索引,以便仅使用单个实体即可使用它们。
语法: zip(*迭代器)
参数: Python可重用文件或容器(列表、字符串等) 返回值: 返回一个迭代器对象,该对象具有来自所有 容器。
Python zip()示例
示例1:Python压缩两个列表
Python3
name = [ "Manjeet" , "Nikhil" , "Shambhavi" , "Astha" ] roll_no = [ 4 , 1 , 3 , 2 ] # using zip() to map values mapped = zip (name, roll_no) print ( set (mapped)) |
输出:
{('Shambhavi', 3), ('Nikhil', 1), ('Astha', 2), ('Manjeet', 4)}
示例2:Python zip 列举
Python3
names = [ 'Mukesh' , 'Roni' , 'Chari' ] ages = [ 24 , 50 , 18 ] for i, (name, age) in enumerate ( zip (names, ages)): print (i, name, age) |
输出:
0 Mukesh 241 Roni 502 Chari 18
示例3:Python zip()字典
Python3
stocks = [ 'reliance' , 'infosys' , 'tcs' ] prices = [ 2175 , 1127 , 2750 ] new_dict = {stocks: prices for stocks, prices in zip (stocks, prices)} print (new_dict) |
输出:
{'reliance': 2175, 'infosys': 1127, 'tcs': 2750}
如何解压?
解压意味着将压缩后的值转换回原来的个人。这是在“帮助”的帮助下完成的 * “接线员。
Python3
# 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 ( "" ) # unzipping values namz, roll_noz, marksz = zip ( * mapped) print ( "The unzipped result: " , 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执行的 学生数据库或记分卡 或任何其他需要组映射的实用程序。下面是记分卡的一个小例子。
Python3
# 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 : 100Player : Sehwag Score : 15Player : Gambhir Score : 17Player : Dravid Score : 28Player : Raina Score : 43
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END