python - 为什么内循环不影响外循环?
问题描述
假设以下代码:
my_list = [1,2,3]
for x in my_list:
for y in my_list:
print(x,y)
#implicit next(my_list)
为什么内部隐式 next(my_list) 不影响外部循环?
解决方案
列表是可迭代的。您可以调用iter(my_list)
它来检索迭代器。此迭代器独立于其他迭代器将特定索引保存到列表中。
for x in my_list
实际上就像
temp_iter1 = iter(my_list)
try:
while True:
x = next(temp_iter1)
... # Loop code
except StopIteration:
pass
推荐阅读
- linux - 如何在 GNU/Linux 中不使用 Adobe Acrobat 删除 PDF/A 标记
- postgresql - 如何从事务块中的 INSERT 语句返回值?
- python - OutOfBoundsDatetime:越界纳秒时间戳
- cakephp-3.0 - CakePHP 3.8。安全组件 - FormHelper end() 方法
- c# - 使用 C# 和 Npgsql 返回 PostgreSQL 数据库上新插入行的 ID?
- android - 如何在 Firestore Android 中获取文档 ID
- java - DynamoDBMapper scanPage 不返回任何结果
- sql - 时间戳现在显示当前时间戳的所有字段
- sqlite - 将odoo数据库导出到cronjob中的sqlite
- python - 如何用 Python 打破“选择不同的图像”验证码