* 在zip函数中的应用

news/2024/6/26 23:51:08 标签: python

zip 拉链函数,是Python当中的一个Biult-in函数,主要是为了将列表或元组中的元素进行重新组合,特别对于不对齐的两个和多个列表,元组。zip可以实现对列表的原子操作。
*,在zip中,可以理解为将合成的结构进行解构(包括多二维列表,矩阵,zip对象本身等)。在zip中 * 的作用主要有一下两点:
(1)作为zip的参数:

a = [[1,2,3],[4,5,6]]
za = zip(a)
for i,j in za:
    print(i,j)

上段代码将输出错误,not enough values to unpack 原因是,将二维列表当做一个参数输入zip,返回的zip中只有一个对象,修改如下

a = [[1,2,3],[4,5,6]]
za = zip(*a)
for i,j in za:
    print(i,j)

加上*后,输出为:

1,4
2,5
3,6

* 将列表按照行进行了划分,zip函数接受两个新的列表作为参数,* 也只有在zip函数内才能起到这样的作用。

(2)作为zip的修饰符,解构zip对象

a = [1,2,3]
b = [4,5,6]
list(zip(*zip(a,b)))
>>[[1,2,3],[4,5,6]]

上述代码中,* 将zip对象进行了解构,zip(a,b)压缩后,变成了zip([(1,4),(2,5),(3,6)]) * 解构后变成了列表对象 [[1,4],[2,5],[3,6]],不再是zip对象,对列表zip并list后,变成了 [[1,2,3],[4,5,6]]


http://www.niftyadmin.cn/n/1662894.html

相关文章

【SciKit-Learn学习笔记】8:k-均值算法做文本聚类,聚类算法性能评估

学习《scikit-learn机器学习》时的一些实践。 原理见K-means和K-means的算法原理及sklearn库中参数解释、选择。 sklearn中的KMeans from sklearn.datasets import make_blobs from matplotlib import pyplot as plt from sklearn.cluster import KMeansdef show_sample():&q…

【TensorFlow学习笔记】2:基本使用流程和使用检查点,按照时间自动管理检查点

学习《深度学习之TensorFlow》时的一些实践。 TF的基本使用 对于分类问题的特征X和标签Y,分别定义tf.placeholder,这是计算图输入数据的入口。 对于模型中的参数(注意不是超参数),如往往是权向量w和偏置b&#xff0c…

Python的list.sort方法 和 sorted函数

不同点: list.sort方法是就地排序,不会把源列表复制一份,返回值是None。python中就地改动都会返回None。 sorted函数,新建一个列表作为返回值,参数可以是不可变序列,或者是生成器,最后总会返回一个列表。…

HashCode详解

一. 序言 在分析Object.java发现如下的方法: public native int hashCode();本着穷究的目的,去找相关的资料分析为什么Object.java为什么有这个原生的HashCode方法。 二. 分析 (1)HashCode是什么? HashCode:根据Hash算法依据对象的…

【TensorFlow学习笔记】3:认识TensorBoard可视化计算图和计算结点

学习《深度学习之TensorFlow》时的一些实践。 TensorBoard是一个日志展示系统,在Session中使用tf.summary中的API将日志保存在日志文件中,然后通过TensorBoard服务在浏览器中就可以读取这些日志,查看图形化后的信息。 对线性回归做可视化 上…

Python 的bisect模块: 有序序列的查找和插入

查找位置:bisect(array,new_item) import bisecta [1, 2, 4, 8, 12, 14, 19] item 13 position bisect.bisect(a, item) print(position) # 如果放到有序序列中,应该存在的索引位置# 使用列表的insert方法插入对应位置 a.insert(position, item) pr…

QT—信号与槽详解

目录 一、什么是信号与槽 二、信号与槽的添加 1.添加槽方法 2.添加信号 3.发送信号 4.信号与槽连接 三、连接类型 1.一对一 2.一对多 3.多对一 四、信号与槽断开连接 1.断开一个对象的所有信号关联 2.断开指定信号的所有关联 3.断开指定接收者的所有关联 4.断…

python之Flask实现登录功能

网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL。 用到的一些知识点:Flask-SQLAlchemy、Flask-Login、Flask-WTF、PyMySQL这里通过一个完整的登录实例来介绍&#xff0…