鱼C论坛

 找回密码
 立即注册
查看: 3150|回复: 3

python课后练习题问题

[复制链接]
发表于 2022-6-8 22:32:36 | 显示全部楼层 |阅读模式

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

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

x
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]

                               
登录/注册后可看大图

这个slogan[2:]这个2哪来的啊????这个是啥啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-8 22:39:13 | 显示全部楼层
这里的slogan[2:],是指在list1中的字符串,选取从2号位置开始到末尾的部分
因为list1中的口号前面都有数字如1.,2.占了2个位置,python中记数是从0开始的如0,1,2...
所以,要想获得单独的口号,就得从第3个位置,也就是slogan[2:]开始
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-8 22:46:50 | 显示全部楼层
本帖最后由 临时号 于 2022-6-8 22:48 编辑

slogan[2:]指的是将从slogan这个字符串标号2位置到字符串结束的位置重新组成一个新的字符串,这叫做分片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-8 22:46:57 | 显示全部楼层
首先你要看明白这个list3的结构 =【】 是一个列表推导式,ok 然后在看里面的结构
先看for前面的列表元素,name + ':' + slogan[2:] ok , 有两个变量,然后我们再去看for语句
有两个for 语句对吧,第一个 for slogan in list1 ,list1 里每一个元素遍历的话 拿一个元素来说应该是'1.Just do It' 所以slogon 就是这个'1.Just do It' 而slogon[2:] 你仔细看slogon 是不是一个字符串 所以也能遍历,index为2后面的不就是'Just do It'么。  依次类推哈 第二个循环就更好理解了 就是list2里所有的元素
而最后那个if语句,其实很简单拉 他就是看slogon 和name的第一个index 也就是数字1234 需要匹配 才能连上。所以整体来说这个列表推导式 走了4 *4 16次哈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 08:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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