鱼C论坛

 找回密码
 立即注册
查看: 1899|回复: 6

[已解决]for in list 小疑问

[复制链接]
发表于 2019-7-25 09:55:24 | 显示全部楼层 |阅读模式

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

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

x
  1. >>> list1 = ['耐克','李宁','阿迪','亚瑟士']
  2. >>> for each in list1 :
  3.         print(each)

  4.        
  5. 耐克
  6. 李宁
  7. 阿迪
  8. 亚瑟士
  9. >>> each
  10. '亚瑟士'
  11. >>> each
  12. '亚瑟士'
  13. >>> each[0]
  14. '亚'
  15. >>>
复制代码

each为何是‘亚瑟士’?


  1. >>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
复制代码


slagan[0]  name[0] 分别又是什么呢?
最佳答案
2019-7-25 10:09:38
本帖最后由 凌九霄 于 2019-7-25 10:14 编辑

each在迭代中不断获得list1的每一项的值,最后获得的值是  亚瑟士 ,所以...
slagan[0]  name[0] 分别取的list1和list2的每一项的第一个字符,也就是那个数字,并以此数字为对应来匹配两个列表的的关系
044035qddrqkmrqod4cqmr.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-25 10:07:05 | 显示全部楼层
本帖最后由 jackz007 于 2019-7-25 10:09 编辑

    因为 '亚瑟士' 是列表 list1 的最后一个元素。

    for each 遍历 list1 中的每一个元素,循环完后,each 自然是最后那个元素的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-25 10:09:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 凌九霄 于 2019-7-25 10:14 编辑

each在迭代中不断获得list1的每一项的值,最后获得的值是  亚瑟士 ,所以...
slagan[0]  name[0] 分别取的list1和list2的每一项的第一个字符,也就是那个数字,并以此数字为对应来匹配两个列表的的关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-25 10:36:26 | 显示全部楼层
凌九霄 发表于 2019-7-25 10:09
each在迭代中不断获得list1的每一项的值,最后获得的值是  亚瑟士 ,所以...
slagan[0]  name[0] 分别取的 ...

你好,each 最后获得的值是亚瑟士 ,所以each【0】是第一个字符‘’亚‘’,那么slogan[0]和name[0] 为何不是最后获得值的第一个字符?  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-25 11:27:47 | 显示全部楼层
zhjshi40 发表于 2019-7-25 10:36
你好,each 最后获得的值是亚瑟士 ,所以each【0】是第一个字符‘’亚‘’,那么slogan[0]和name[0] 为何 ...

是取第一个字符  slogan[0] == name[0]]  他们的目的就是去取那个数字(字符型数字)1 2 3 4 用以合并
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-25 14:09:20 | 显示全部楼层
本帖最后由 凌九霄 于 2019-7-25 14:14 编辑
zhjshi40 发表于 2019-7-25 10:36
你好,each 最后获得的值是亚瑟士 ,所以each【0】是第一个字符‘’亚‘’,那么slogan[0]和name[0] 为何 ...


slogan和name当然在最后会保存最后所获得的那个值,但是在列表推导式中会对每次获得的slogan和name的值进行切片处理。你实在不明白,你可以吧列表推导式改成普通的迭代形式,你跟踪下slogan[0]和name[0]的值的变化就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-25 14:55:27 | 显示全部楼层
凌九霄 发表于 2019-7-25 14:09
slogan和name当然在最后会保存最后所获得的那个值,但是在列表推导式中会对每次获得的slogan和name的值 ...

已经明白了  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 01:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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