ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 3 内置函数 - `zip()`函数

2022-03-20 13:59:38  阅读:127  来源: 互联网

标签:__ 函数 zip Python self object list 元组


Python 3 内置函数 - zip()函数

0. zip()函数

将对象中对应的元素打包成一个元组,然后返回由这些元组组成的对象。

  • 可以用 list() 转换来输出列表。
  • 利用 * 号操作符,可以将元组解压为列表。

1. 使用方法

>>> help(zip)

# output:
Help on class zip in module builtins:

class zip(object)
 |  zip(*iterables) --> A zip object yielding tuples until an input is exhausted.
 |  
 |     ## 使用方法
 |     >>> list(zip('abcdefg', range(3), range(4)))
 |     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
 |  
 |  The zip object yields n-length tuples, where n is the number of iterables
 |  passed as positional arguments to zip().  The i-th element in every tuple
 |  comes from the i-th iterable argument to zip().  This continues until the
 |  shortest argument is exhausted.
 |  
 |  Methods defined here:
 |  
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |  
 |  __iter__(self, /)
 |      Implement iter(self).
 |  
 |  __next__(self, /)
 |      Implement next(self).
 |  
 |  __reduce__(...)
 |      Return state information for pickling.
 |  
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |  
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.

2. 使用示例

2.1. zip() 压缩

>>> a = ['a','b','c']
>>> b = [1, 2, 3]
>>> x = zip(a, b)
>>> x, list(x)
# output:
(<zip at 0x7f58142bcd00>, [('a', 1), ('b', 2), ('c', 3)])

2.1. zip(*) 解压

利用 * 号操作符,可以将元组解压为列表。

>>> x = [('a', 1), ('b', 2), ('c', 3)]
>>> a, b = zip(*x)
>>> a, b
# output:
(('a', 'b', 'c'), (1, 2, 3))

标签:__,函数,zip,Python,self,object,list,元组
来源: https://blog.csdn.net/caozongjing/article/details/123611798

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有