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

enumerate 和for in搭配使用

好问题!我们来把这两点完全拆开讲清楚:


1. enumerate(test_cases, 1) 的输出是什么?

enumerate 会把一个列表(或其它可迭代对象)变成 带编号的迭代器

举个例子:

test_cases = [("鸡蛋1", "完整"), ("鸡蛋2", "裂了")]
print(list(enumerate(test_cases, 1)))

输出结果是:

[(1, ('鸡蛋1', '完整')), (2, ('鸡蛋2', '裂了'))]

👉 你看到它变成了一个列表,里面每个元素是 (序号, 原来的元素)

  • 12 是编号

  • ('鸡蛋1', '完整')('鸡蛋2', '裂了') 是原来列表里的元素


2. for i, (n, expected) in enumerate(test_cases, 1):

for ... in ... 循环里,in 会从 enumerate(...) 里面一个个取出元素

也就是:

  • 第一次循环:取出 (1, ('鸡蛋1', '完整'))

  • 第二次循环:取出 (2, ('鸡蛋2', '裂了'))

然后,for i, (n, expected) 就会 拆包

  • 第一次:i=1, n="鸡蛋1", expected="完整"

  • 第二次:i=2, n="鸡蛋2", expected="裂了"

http://www.dtcms.com/a/359174.html

相关文章:

  • 接雨水,leetCode热题100,C++实现
  • 【随笔】【Debian】【ArchLinux】基于Debian和ArchLinux的ISO镜像和虚拟机VM的系统镜像获取安装
  • C++的迭代器和指针的区别
  • 「日拱一码」066 深度学习——Transformer
  • Flutter MVVM+provider的基本示例
  • Qt中的锁和条件变量和信号量
  • Science:机器学习模型进行遗传变异外显率预测
  • 线段树相关算法题(5)
  • 【大语言模型 30】指令微调数据工程:高质量数据集构建
  • audioLDM模型代码阅读(二)——HiFi-GAN模型代码分析
  • 【光照】[光照模型]发展里程碑时间线
  • C++ 高并发内存池项目——无锁化设计、TLS 线程隔离与内存碎片优化
  • fork详解(附经典计算题)
  • 【系列07】端侧AI:构建与部署高效的本地化AI模型 第6章:知识蒸馏(Knowledge Distillation
  • mit6.824 2024spring Lab3A Raft
  • 简说DDPM
  • C语言---零碎语法知识补充(队列、函数指针、左移右移、任务标识符)
  • 机器人控制器开发(底层模块)——rk3588s 的 CAN 配置
  • 码农特供版《消费者权益保护法》逆向工程指北——附源码级注释与异常处理方案
  • 人工智能训练师复习题目实操题2.2.1 - 2.2.5
  • 手表--带屏幕音响-时间制切换12/24小时
  • PS学习笔记
  • 【15】VisionMaster入门到精通——--通信--TCP通信、UDP通信、串口通信、PLC通信、ModBus通信
  • 计算机算术7-浮点基础知识
  • 面经分享--小米Java一面
  • 青年教师发展(中科院软件所-田丰)
  • Dify 从入门到精通(第 65/100 篇):Dify 的自动化测试(进阶篇)
  • MCP与A2A的应用
  • LightGBM(Light Gradient Boosting Machine,轻量级梯度提升机)梳理总结
  • 【AI工具】在 VSCode中安装使用Excalidraw