python - 嵌套循环 - 请解释
问题描述
我有这个嵌套循环:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
通过阅读它,我期望输出是:
red apple
big banana
tasty cherry
有人可以向我解释为什么我会得到吗?
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
我真的很困惑,无法解决!
非常感谢!
解决方案
每次循环运行时,循环内的所有事情都会发生(尽管可能会从封闭函数中短路或退出循环:,,break
或引发未在本地捕获的异常,或任何迫使程序立即退出的事情拔掉电源插头 :) )continue
return
内循环在外循环内部(这就是它们被嵌套的意思),所以整个内循环会分别发生,一次又一次,每次都通过外循环。
外循环第一次运行时,x
设置为'red'
. 因此,该值用于内部循环的每次迭代,从而与每个y
值配对。对于其余的迭代,依此类推。
如果您想要您期望的行为,请参阅如何并行遍历两个列表?.
推荐阅读
- ms-word - ms word中opentype数学字体的错误交集行为
- tensorflow - 如何从 tensorflow 构建中保存中间文件?
- python - 构造 JSON 数组
- html - HTML:以纯文本形式显示 >
- nginx - nginx 多个位置指令都给出 404 页
- emacs - 从 orgmode 打开 mp4 文件
- javascript - 如何在nodejs中精细管理一个孤立的范围?
- dm-script - 在 dm-script 中关闭图像窗口时如何停止后台线程
- php - 如何在没有 = 的情况下从 URL 获取变量?
- javascript - 在 jquery 中添加具有不同内容的 html