你还不知道python解包和压包?点这里

发表于:2022-11-17 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小唐    来源:知乎

  python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,反过来则叫压包。
  一、简单解包
  可迭代对象都可以这么做,如果待赋值变量与可迭代对象数量不一致则会报错,但可用*号表示多个元素。
  1. *号在解包中的使用
  比如我们要计算平均分,去除最高分和最低分,除了用切,还可以用解包的方式获得中间的数值。
  2. 复杂点的解压
  二、压包
  压包是解包的逆过程,用zip函数实现,zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(Python3)。
  如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
  三、解包和压包结合
  下面例子实现:两个列表对应数值相加。
  细细拆解上面过程,可以看出步骤是这样的
  ·先是zip函数将a b压包成为一个可迭代对象
  · 对可迭代对象的每一个元素((1, 4))进行解包(i, j = (1, 4))
  · 此时就可以分别调用i j变量进行计算
  四、_号在解压包中的使用
  当一些元素不用时,用_表示是更好的写法,可以让读代码的人知道这个元素是不要的。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号