题目:
zip函数的灵活运用,如果我们有两个列表,
第一个列表都是姓名,
第二个列表都是这些姓名对应的资产,
如何快速将这两个列表组合到一起。
输入输出效果:
[('张三', 18), ('李四', 2), ('王五', 99), ('老刘', 21)]
[('张三', '李四', '王五', '老刘'), (18, 2, 99, 21)]
[('张三', '李四', '王五', '老刘'), (18, 2, 99, 21)]
习题思路分析:
- 本地主要针对两个重要考点进行应用,一个是zip函数的应用,一个是copy模块的deepcopy函数进行深度拷贝。
- 由于zip压缩后的变量只能使用一次的特点,所以,在本题进行了深度复制,复制后的值保存在ziped2变量中。
- 使用*星号可以对变量标记为解压,结合zip函数就可以将变量解压到两个元组内。
本节源代码
""" import copy list1=["张三","李四","王五","老刘"] list2=[18,2,99,21,100] ziped=zip(list1,list2) ziped2=copy.deepcopy(ziped) list3=list(ziped) print(list3) #对复制的ziped数据进行解压 print(list(zip(*ziped2))) list4=[('张三', 18), ('李四', 2), ('王五', 99), ('老刘', 21)] print(list(zip(*list4)))
总结:通过本节知识及代码,我们需要重点学习的是zip函数的使用和深度复制的知识。这里我们要区分平时使用的copy函数和deepcopy函数的区别。对变量进行完全复制的是deepcopy函数 ,而普通的copy函数只是浅层复制,copy复制的变量的深层地址还是相同的。