鱼C论坛

 找回密码
 立即注册
查看: 789|回复: 2

《零基础python》12讲第六题

[复制链接]
发表于 2018-7-6 16:32:29 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 smallhby 于 2018-7-6 16:33 编辑

12-6

12-6


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

不是很懂这行代码,有以下几个点

1. slogan[2:]这里的切片起到了什么作用?分明序号?列表解析?是用了哪个bif?为什么name就不需要切片?

2.if 语句的作用是怎么起到对号入座的功能?

感谢各位大大的指导!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-7-6 16:43:17 | 显示全部楼层
1. slogan[2:]这里的切片起到了什么作用?分明序号?列表解析?是用了哪个bif?为什么name就不需要切片?
不要想的太复杂,这里就是取第三个字符开始到后面所有的字符,因为两组数据都是1. 这样的形式开头的,所以只需要一次

2.if 语句的作用是怎么起到对号入座的功能?
就是匹配他们的第一个字符,因为都有编号1234
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-6 16:49:00 | 显示全部楼层
问题1:
slogan[2:]的含义是从列表的第二个字符取到结束
在代码中表现为:去除list1中成员前面的数字1. 2.等等,只留下后面的文本Just do it 等等,用来拼接到list2的成员后面
问题2:
通过这句代码实现的
if slogan[0] == name[0]

含义:比较成员中的第一个字符,相等则为同一组(1,2,3,4)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 14:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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