首页 > 编程语言 >python3中zip详解

python3中zip详解

时间:2023-02-06 18:05:43浏览次数:44  
标签:zip a1 item 详解 a4 print a2 python3


描述
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法
zip([iterable, ...])
参数
iterabl -- 一个或多个迭代器;
返回值
返回元组列表。
a1 = [1,2,3]
a2 = [4,5,6]
a3 = [7,8,9]
a4 = ['a','b','c','d']

zip1 = zip(a1, a2, a3) #压缩为元组
for item in zip1:
print(item)

'''
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
'''
a1 = [1,2,3]
a2 = [4,5,6]
a3 = [7,8,9]
a4 = ['a','b','c','d']

zip2 = zip(a1, a2, a4) # 以元素个数最少的列表作为长度
for item in zip2:
print(item)

'''
(1, 4, 'a')
(2, 5, 'b')
(3, 6, 'c')

'''
a1 = [1,2,3]
a2 = [4,5,6]
a3 = [7,8,9]
a4 = ['a','b','c','d']

zip3=zip(a4)
for item in zip3:
print(item)

'''
('a',)
('b',)
('c',)
('d',)
'''
a1 = [1,2,3]
a2 = [4,5,6]
a3 = [7,8,9]
a4 = ['a','b','c','d']

zip4 = zip(*a4 * 3) # zip(*) 代表解压,与zip()功能相反 *3代表输出3倍

for item in zip4:
print(item)
#二维矩阵变换(矩阵的行列互换)

l1=[[1,2,3],[4,5,6],[7,8,9]]
print([[j[i] for j in l1] for i in range(len(l1[0])) ])

for item in zip(*l1): # 与 zip 相反,可理解为解压,返回二维矩阵式
print(item)

'''
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)

'''

 

标签:zip,a1,item,详解,a4,print,a2,python3
From: https://blog.51cto.com/u_15955675/6040030

相关文章

  • Python3 ImportError: No module named '_tkinter'
    Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"/usr/local/lib/python3.5/tkinter/__init__.py",line35,in<module>import_tkinter#......
  • 一文详解TensorFlow模型迁移及模型训练实操步骤
    摘要:本文介绍将TensorFlow网络模型迁移到昇腾AI平台,并执行训练的全流程。然后以TensorFlow1.15训练脚本为例,详细介绍了自动迁移、手工迁移以及模型训练的操作步骤。本文分......
  • 一文详解TensorFlow模型迁移及模型训练实操步骤
    摘要:本文介绍将TensorFlow网络模型迁移到昇腾AI平台,并执行训练的全流程。然后以TensorFlow1.15训练脚本为例,详细介绍了自动迁移、手工迁移以及模型训练的操作步骤。本文......
  • JVM垃圾回收机制,万字详解
    JVM垃圾回收机制jvm的基本组成虚拟机的组成所谓java能实现跨平台,是因为在不同平台上运行不同的虚拟机决定的,因此java文件的执行不直接在操作系统上执行,而是通过jvm虚拟机执......
  • Redis详解
    Redis配置ymlspring:redis:host:82.157.248.243#host地址port:6379#地址端口号password:#密码database:......
  • java注解与反射详解
    一、注解篇1.1、注解的基本概念注解:一种代码级别的说明,它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次;它可以声明在包、类、字段、方法、局部变量......
  • C++右值引用,移动语义与完美转发详解
    tags:C++Interview写在前面总结一下深入理解C++11这本书的第三章第三节,右值引用部分.文中全部代码可以参考我在GitHub上传的部分:​​Learn_C_Cpp/c++11-14/Depth_unde......
  • Python3排序sorted(key=lambda)
    Python3排序sorted(key=lambda)简述:假如d是一个由元组构成的列表,我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单词;x表示列......
  • Node.JS模块化详解(Math加乘实现/模块外包围)
    视频math.js/* 定义一个模块math -在该模块中提供两个方法 add(a,b);//求两个数的和 mul(a,b);//求两个数的积*/module.exports.add=function(a......
  • php两种基本的输出方及实例详解
    在PHP中,有两种基本的输出方法:echo和print。echo和print之间的差异echo-输出一个或多个字符串,可以接受多个参数并且没有返回值print-只能输出一个字符串,只能......