鱼C论坛

 找回密码
 立即注册
查看: 33|回复: 4

[已解决]for each对each的理解问题

[复制链接]
发表于 8 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图勾画的for color in colors和for size in sizes里面的color和size都代替了each的位子,所以请问在for each in ...的语句中,
each是可以随意用其他名称代替的吗
最佳答案
4 小时前
        each 只是一个普通变量,在对其命名这件事上,你拥有绝对的自由,例如,本人比较懒,通常会用 x 来搪塞这个变量。
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 8 小时前 | 显示全部楼层
随你喜好,最好取个有意义的名字,不然代码会变得难以阅读
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 8 小时前 | 显示全部楼层
是的,在 `for each in ...` 的语句中,`each` 只是一个占位符,用于表示集合中的每一个元素。你可以根据代码的语义随意用其他名称来代替它,比如 `color` 或 `size`。更改这个名称通常是为了让代码更加具有可读性。
colors = ['red', 'green', 'blue']

for color in colors:
    print(color)

在这个例子中,`color` 代替了 `each` 的位置,用来表示 `colors` 列表中的每一个元素。选择一个合适的名称有助于提高代码的可读性和易懂性。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 小时前 | 显示全部楼层
本帖最后由 Filthy-ice 于 2024-11-22 14:34 编辑

for each in collections 其实就是for(i= n;i condition; i options){  collections[n]...  }变体, 众所周知, 这样拿到的都是指针, 指向集合中某个元素的地址, 存储指针需要载体以便以后访问, each其实就是一个存储指针的栈变量.
假如:
my_list = [1, 2, 3, 4, 5]
print(my_list[0])  -> 1

在C中的解释:
int* val = &my_list[0];  取原元素(堆区)的地址赋给一个变量(栈区), 其实就是做个记号.
printf("%d",*val); // 解引用打印原地址存储对象的值,结果为1

按照你所述及上述我的解释,在python中要逐个操作my_list的元素,可以写为:
for val in my_list ....

总结:
1. for each in collections 使用时如字面意思, 每一个, 所以有些同行会经常用item(每一条)来命名.
2. each仅仅是堆区对象在内存中的引用, 只要符合命名规范, 可随意命名.
3. 通俗易懂的说就是win的快捷方式, 你可以访问, 可以修改其内容, 但是删除该变量, 不会删除源头, 除非把源头的删除, 即释放堆区内存.
4. 再举个栗子: 我问你和你朋友住在哪, 你告诉我你们住在  上海浦东新区陆家嘴滨江大道旁的花园石桥路28栋XX楼XXX室, 我记在纸上, 如果去你们家, 我可以拿着这张纸一个个去找你们, 我把纸撕了, 也不会影响你们住在汤臣一品, 而我住在厕所的事实.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 小时前 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
        each 只是一个普通变量,在对其命名这件事上,你拥有绝对的自由,例如,本人比较懒,通常会用 x 来搪塞这个变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表