当前位置: 首页 > news >正文

python自学笔记3 控制结构

条件语句

循环语句

range函数

在这里插入图片描述

enumerate() 函数

可以将一个可迭代对象转换为一个由索引和元素组成的枚举对象。
在这里插入图片描述
索引的起始编号是0,也可以传入第二参数来指定其起始编号
在这里插入图片描述

zip函数

在这里插入图片描述
打包范围以两者最短的长度为准
在这里插入图片描述
以两者较长的长度为准的函数为itertools.zip_longest()

一个计算向量内积的应用
在这里插入图片描述

向量化

这是不用numpy处理矩阵的方法:
在这里插入图片描述
使用numpy后可以更加轻松的处理矩阵
在这里插入图片描述
同样也可以处理向量内积
在这里插入图片描述
可以用下面这个程序来比较两种方法处理矩阵的效率
在这里插入图片描述

列表生成

语法:[expression for item in iterable if condition]
下面是一个列表生成的例子:
在这里插入图片描述
还可以嵌套使用生成矩阵:
在这里插入图片描述
可以看到嵌套使用时,i和j的顺序反了过来。
应用
往线段上插点:
往线段上插点在python中有两种用法

  1. 确定范围,不确定间隔长度,从开始到结束均匀的插满
  2. 确定间隔长度,不确定范围,结束的位置不插上端点

函数实现:
在这里插入图片描述
矩阵转置:
在这里插入图片描述
将原矩阵的没一列提取出来,作为行插入到新矩阵中
另一种写法:
在这里插入图片描述
上述代码中,i和j代表新矩阵的行和列,对应的遍历数量是旧矩阵的列和行,所以i,j在原矩阵的位置和对应的range函数如上图所示。

计算矩阵逐项积:
在这里插入图片描述
笛卡尔集:
举个简单的例子,假设有两个集合: A = {1, 2} 和 B = {‘a’, ‘b’}。 它们的笛卡尔积为:{(1, ‘a’), (1, ‘b’), (2, ‘a’), (2, ‘b’)}。
在这里插入图片描述
一层列表实现笛卡尔集
在这里插入图片描述
两层列表实现笛卡尔集
在这里插入图片描述

迭代器

itertools 是 Python 标准库中的一个模块,提供了用于创建和操作迭代器的函数。
迭代器是一种用于遍历数据集合的对象,它能够逐个返回数据元素,而无需提前将整个数据集加载到内存中。

不放回排列

在这里插入图片描述
实现代码:
在这里插入图片描述
其中perm_idx遍历结果是一个元组,要用’'.join(perm_idx)连成一个字符串

itertools.permutations 函数还有一个可选参数,用于返回排列中元素的数量。
在这里插入图片描述
代码:
在这里插入图片描述

有放回的排列

在这里插入图片描述
代码:
在这里插入图片描述

有放回的组合

在这里插入图片描述
代码:
在这里插入图片描述

http://www.xdnf.cn/news/532999.html

相关文章:

  • es快速上手(从MySQL角度)
  • HarmonyOS Navigation组件深度解析与应用实践
  • Baklib Headless CMS 全面介绍
  • VAPO:视觉-语言对齐预训练(对象级语义)详解
  • Amazon Q 从入门到精通 – 测试与重构
  • 什么是一次性支付?什么是网关支付?什么是认证支付?
  • 科普:极简的AI乱战江湖
  • MyBatis:动态SQL
  • 机器学习EM算法原理及推导
  • 基于大模型预测癫痫的技术方案
  • deep search框架deerflow
  • 腾讯云怎么在游戏云中助力
  • 说一下响应状态码有哪些?
  • Model 复现系列(一)OpenVLA
  • 卷积神经网络基础(九)
  • 语言幻觉测试用例及相关策略总结
  • 软件设计师“测试用例”考点分析——求三连
  • 2025-5-17Vue3快速上手
  • JavaScript:文件上传功能与断点续传
  • 并发编程(5)
  • STM32 控制 OLED 全攻略(二):实现字符和汉字的显示
  • 制造业供应链数字化转型:从经验备货到需求先知的技术突破
  • 信息化的编程未来发展
  • 大语言模型(LLM)本身是无状态的,怎么固化记忆
  • R9打卡——RNN实现阿尔茨海默病诊断(优化特征选择版)
  • Profinet转Modbus TCP协议转换技术,打通能耗监控‘最后一公里’
  • 3-STM32F103-GPIO学习
  • 1688正式出海,1688跨境寻源通接口接入,守卫的是国内工厂资源
  • # YOLOv4:目标检测的全新突破
  • 深入Python闭包内存泄漏:从原理到实战修复指南