前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考点:深度拷贝、zip函数的压缩与解压包【Python习题06】

考点:深度拷贝、zip函数的压缩与解压包【Python习题06】

作者头像
刘金玉编程
发布2021-12-07 15:15:57
4720
发布2021-12-07 15:15:57
举报
文章被收录于专栏:编程创造城市编程创造城市

题目:

zip函数的灵活运用,如果我们有两个列表,

第一个列表都是姓名,

第二个列表都是这些姓名对应的资产,

如何快速将这两个列表组合到一起。

输入输出效果:

[('张三', 18), ('李四', 2), ('王五', 99), ('老刘', 21)]

[('张三', '李四', '王五', '老刘'), (18, 2, 99, 21)]

[('张三', '李四', '王五', '老刘'), (18, 2, 99, 21)]

习题思路分析:

  1. 本地主要针对两个重要考点进行应用,一个是zip函数的应用,一个是copy模块的deepcopy函数进行深度拷贝。
  2. 由于zip压缩后的变量只能使用一次的特点,所以,在本题进行了深度复制,复制后的值保存在ziped2变量中。
  3. 使用*星号可以对变量标记为解压,结合zip函数就可以将变量解压到两个元组内。

本节源代码

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest78
@Time创建时间    :    2021/11/30
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
题目: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复制的变量的深层地址还是相同的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档