首页 > 编程语言 >Python3中zip()函数知识点总结

Python3中zip()函数知识点总结

时间:2023-02-26 18:33:06浏览次数:50  
标签:知识点 迭代 zip list ids names student Python3

1.引言

在本文中,我将带领大家深入了解​​Python​​中的​​zip()​​函数,使用它可以提升大家的工作效率。 闲话少说,我们直接开始吧!

2. 基础知识

首先,我们来介绍一些基础知识点:

  • Python中的某些数据类型是不可变的(例如字符串、整数),而有些数据类型是可变的(如列表和字典)。不可变的数据对象在创建后不能更改,可变对象可以更改。
  • 可迭代对象是一个单独返回其每个成员元素的对象。比如列表、元组、字符串和字典都是可迭代的对象。我们可以使用​​iter()​​或​​for​​循环来迭代可迭代对象。
  • 当一个对象返回迭代器时,我们必须使用它来检索一个我们可以看到或使用的对象。

3. 向zip函数传递参数

我们可以在函数​​zip()​​中传递任意数量的可迭代项:

3.1 传递零个参数

样例如下:

>>> zipped = zip()
>>> list(zipped)
[]

上述代码中,我们向函数​​zip()​​传递了零个元素,此时该函数返回空。

3.2 传递一个参数

传递一个参数会创建一个元组集合,每个元组中都有一个元素。

示例代码如下:

# create a list of student names
>>> student_names = ['Lindsay', 'Harry', 'Peter']
# zip the list
>>> zipped = zip(student_names)
# consume with list()
>>> list(zipped)
[('Lindsay',), ('Harry',), ('Peter',)]

在上述代码中,我们创建了一个列表,其中有三个字符串表示三个学生的姓名。

3.3 传递两个参数

传递两个参数将创建一个具有成对的元组集合,其中第一个元素来自第一个参数,第二个元素来自第二个参数。

示例代码如下:

# create a list of student ids 
>>> student_ids = ['123', '4450', '5600']
# create a list of student names again, so that we do not forget the earlier steps!
>>> student_names = ['Lindsay', 'Harry', 'Peter']
# zip the lists
>>> zipped = zip(student_names, student_ids)
>>> list(zipped)
[('Lindsay', '123'), ('Harry', '4450'), ('Peter', '5600')]

在上述代码中,我们创建了另一个包含三个字符串的列表。此时,每个元素用于表示每个学生​​student_names​​的对应​​student_ids​​。

此时,我们可以使用for循环来遍历访问,样例代码如下:

>>> student_names = ['Lindsay', 'Harry', 'Peter']
>>> student_ids = ['123', '4450', '5600']
>>> for student_name, student_id in zip(student_names, student_ids):
... print(student_name, student_id)
...
Lindsay 123
Harry 4450
Peter 5600

3.4 传递长度不等的参数

到目前为止,我们只研究了每个可迭代项长度相同的示例:包含学生姓名和id的列表长度都是3,但我们也可以传递不同长度的可迭代项。此时,zip函数将返回一个元组集合,其中元组的数量等于长度最小的可迭代项。它将忽略长度较长的可迭代项中的其余元素,如下所示:

# student_ids is a list with 4 elements 
>>> student_ids = ['123', '4450', '5600', '1']
# student_namdes is a list with 3 elements
>>> student_names = ['Lindsay', 'Harry', 'Peter']
# zip is completely ignoring the last element of student_ids
>>> list(zip(student_names, student_ids))
[('Lindsay', '123'), ('Harry', '4450'), ('Peter', '5600')]

>>> for student_name, student_id in zip(student_names, student_ids):
... print(student_name, student_id)
...
Lindsay 123
Harry 4450
Peter 5600

从上面的示例中可以看到,函数​​zip​​对​​student_ids​​中的最后一个元素​​1​​没有做任何操作。因此,在传递给​​zip()​​之前,检查可迭代项的长度非常重要。

4. 总结

本文重点介绍了Python中关于zip函数的基础知识点总结,并给出了相应的代码示例。

您学废了嘛?

标签:知识点,迭代,zip,list,ids,names,student,Python3
From: https://blog.51cto.com/u_15506603/6086664

相关文章

  • 有关图片的知识点
    常见的图片格式类型SVG(ScalableVectorGraphics):矢量图形格式,可以无限放大而不失真,适合于网页图形和动画等应用。JPEG(JointPhotographicExpertsGroup):用于存储......
  • C#/.NET知识点总结【泛型】
     泛型极大提高代码可用性,可以重复使用对象,定义一个反省对象后,我们可以赋值成string类型,int类型,类型是安全的性能也有提高  https://www.ktanx.com/blog/p/665 ......
  • 297个机器学习彩图知识点(14)
    导读本系列将持续更新20个机器学习的知识点,欢迎关注。1.独立同分布2.KNN填补缺失值3.填补缺失值4.拐点5.参数初始化6.初始权重7.工具变量8.交叉......
  • java 知识点
    defaultswitch(num):case1:语句;break;case2:语句;break;case3:语句;break;default:语句;break;Random随机数Randomr=newRandom();r.nextInt(9......
  • WPF知识点备忘录——样式
    <Window.Resources><!--只对Control类及其派生类有效,若改成Button则只对Button有效--><Stylex:Key="Style1"><SetterProperty="Con......
  • WPF知识点备忘录——控件
    Grid<GridMargin="3,3,10,3"><Grid.ColumnDefinitions><ColumnDefinitionWidth="auto"/><ColumnDefinitionWidth="*"/>......
  • Python3的AES加密和解密
    此加密和解密的秘钥的长度必须是16位、24位或者32位importbase64importosfromCrypto.CipherimportAES#AESkeymustbeeither16,24,or32byteslongaes_key="1......
  • python2代码转python3
    安装python337的参考:D:\Python3.5\Tools\scripts找到2to3.py文件执行命令转换单个文件或者目录D:\dev\python37\Tools\scripts>python2to3.py-wD:\dev\python37\To......
  • win7安装python3
    win7安装python3python官网显示python3.9以上已不支持win7,所以找一下python3.8NotethatPython3.9+cannotbeusedonWindows7orearlier.python3.8提供安装包的......
  • 297个机器学习彩图知识点(13)
    导读本系列将持续更新20个机器学习的知识点,欢迎关注。1.阈值类别特征的方差2.切分文本3.领域链接4.TSS5.误差6.训练错误率7.真正类率8.丢弃概率......