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

DAY 24 元组和OS模块

1. 元组

1.1 概念

元组是 Python 中一种不可变的序列类型,使用圆括号 () 表示,元素之间用逗号分隔。由于其不可变性,元组在创建后不能修改元素的值、添加或删除元素。

代码示例
# 创建元组
empty_tuple = ()  # 空元组
single_element_tuple = (1,)  # 只有一个元素的元组,注意逗号不能省略
normal_tuple = (1, 2, 'hello', True)# 访问元组元素
print(normal_tuple[0])  # 输出: 1# 元组解包
a, b, c, d = normal_tuple
print(a)  # 输出: 1# 元组切片
print(normal_tuple[1:3])  # 输出: (2, 'hello')
1.2 哈希和字典键
  • 由于元组是不可变的,可作为字典的键,这在存储模型配置或实验结果时非常有用。
# 存储不同模型配置的准确率
model_configs = {('random_forest', 100, 5): 0.85,('logistic_regression', 0.1): 0.82
}
print(model_configs[('random_forest', 100, 5)])  # 输出: 0.85
1.3 应用场景
  • 函数返回多个值:函数可以返回一个元组,调用者通过元组解包获取多个返回值。
  • 数据不可变需求:当数据不希望被修改时,使用元组存储数据,保证数据的安全性。

2. 可迭代对象

2.1 概念

可迭代对象是指能够一次返回一个元素的对象,Python 中很多数据类型都是可迭代对象,如列表、元组、字符串、字典等。可迭代对象可以用于 for 循环、iter() 函数等。

代码示例
# 列表作为可迭代对象
my_list = [1, 2, 3]
for item in my_list:print(item)# 字符串作为可迭代对象
my_string = "hello"
for char in my_string:print(char)# 使用 iter() 和 next() 函数
my_iter = iter(my_list)
print(next(my_iter))  # 输出: 1
print(next(my_iter))  # 输出: 2
2.2 应用场景
  • 循环遍历:在 for 循环中使用可迭代对象遍历数据。
  • 生成器:生成器是一种特殊的可迭代对象,用于按需生成数据,节省内存。

3. os 模块

3.1 概念

os 模块是 Python 标准库中的一个模块,提供了与操作系统进行交互的功能,如文件和目录操作、环境变量管理等。

代码示例
import os# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)# 创建目录
new_dir = "new_directory"
if not os.path.exists(new_dir):os.mkdir(new_dir)# 列出目录中的文件和子目录
file_list = os.listdir(current_dir)
print(file_list)# 拼接路径
new_path = os.path.join(current_dir, new_dir)
print(new_path)# 删除目录
if os.path.exists(new_dir):os.rmdir(new_dir)
3.2 应用场景
  • 文件管理:创建、删除、重命名文件和目录。
  • 路径处理:拼接、拆分、获取文件路径的各个部分。
  • 环境变量管理:获取和设置系统环境变量。

文章转载自:

http://C08iVAWI.skdhm.cn
http://fUYwx6lR.skdhm.cn
http://KGfYO74W.skdhm.cn
http://RqATLhmF.skdhm.cn
http://6p4omNXi.skdhm.cn
http://z3JD3ILn.skdhm.cn
http://NFX5y9pD.skdhm.cn
http://AQD5wUqy.skdhm.cn
http://eP7M4ucz.skdhm.cn
http://mNhI8lg3.skdhm.cn
http://UeotdlCP.skdhm.cn
http://nHj0SAZ2.skdhm.cn
http://FRGuX3kA.skdhm.cn
http://AA3r3JLT.skdhm.cn
http://N7kSJyEu.skdhm.cn
http://unTRCS06.skdhm.cn
http://Udg7PB9M.skdhm.cn
http://wFoKZpz5.skdhm.cn
http://WMqKIBps.skdhm.cn
http://GPyxgBDo.skdhm.cn
http://Sy8ReeRv.skdhm.cn
http://MQR3nCzU.skdhm.cn
http://D2kUgJbm.skdhm.cn
http://zPXiUJ0Q.skdhm.cn
http://CdObVcED.skdhm.cn
http://qyr6qUs3.skdhm.cn
http://dBjCg3WW.skdhm.cn
http://yuwKDnpr.skdhm.cn
http://BsGoow1w.skdhm.cn
http://tjDQMdJ0.skdhm.cn
http://www.dtcms.com/a/188081.html

相关文章:

  • Visual studio 打包方法
  • Nacos源码—9.Nacos升级gRPC分析七
  • MySQL 8.0 OCP 英文题库解析(四)
  • docker 快速部署若依项目
  • SimScape物理建模实例2--带控制的单质量弹簧阻尼系统
  • Linux云计算训练营笔记day07(MySQL数据库)
  • MySQL 8.0 OCP 1Z0-908 51-60题
  • SSH免密登录的5种实现方法
  • k8s初始化时候,报错无法通过 CRI(容器运行时接口)与 containerd 通信
  • 2025.05.10京东机考真题算法岗-第二题
  • 【数据结构】——栈和队列OJ
  • TCP核心机制
  • list基础用法
  • Docker疑难杂症解决指南
  • ThingsBoard3.9.1 MQTT Topic(4)
  • python常用算法总结(下)
  • 基于STM32、HAL库的TLV320AIC3101IRHBR音频接口芯片驱动程序设计
  • [250512] Node.js 24 发布:ClangCL 构建,升级 V8 引擎、集成 npm 11
  • webservice获取全国省份区县编码(拼音全拼+拼音简写)
  • linux 抓包工具tcpdump使用小记(使用时注意权限和系统资源)
  • OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——mqtt库
  • 时间序列预测建模的完整流程以及数据分析【学习记录】
  • 从零开始了解数据采集(二十七)——什么IIOT平台
  • 源码分析之Leaflet中GeoJSON模块
  • 信息学奥赛一本通 1535:【例 1】数列操作
  • 信奥赛-刷题笔记-队列篇-T2-P1540机器翻译和P2952Cow Line S
  • 品种亮相!贵州金桥药业筑牢市场竞争护城河
  • MATLAB语音情感识别神经网络方法
  • 从零开始:使用 Vue-ECharts 实现数据可视化图表功能
  • INT202 Complexity of Algroithms 算法的复杂度 Pt.7 NP-Completeness NP完全性