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="裂了"

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值