鱼C论坛

 找回密码
 立即注册
查看: 1035|回复: 5

[已解决]python第12讲的课后作业不会

[复制链接]
发表于 2022-1-11 19:37:53 | 显示全部楼层 |阅读模式

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

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

x

                               
登录/注册后可看大图

>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
求大佬讲解一下这个答案,我看不明白 slogan[2:]是什么意思, if slogan[0] == name[0]又是什么意思
最佳答案
2022-1-11 20:10:54
本帖最后由 大马强 于 2022-1-11 21:28 编辑


因为slogan 存放的是标语字符串【1.just do it ! 】【...】,name存放的是品牌的名字【1.耐克】【....】
所以 if slogan[0] == name[0],就是让两个字符串的第一位数字匹配
达到实现品牌和标语匹配的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-11 20:07:45 | 显示全部楼层
本帖最后由 大马强 于 2022-1-11 21:25 编辑
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
等价于
for slogan in list1:  
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ':' + slogan[2:])

slogan[2:] -> 切片 这个存放的时那些品牌的名字,它的作用=>"1.耐克"[2:] = "耐克" 
将前面的 "1." "2."之类去掉,只保留后面的汉字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-11 20:10:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大马强 于 2022-1-11 21:28 编辑


因为slogan 存放的是标语字符串【1.just do it ! 】【...】,name存放的是品牌的名字【1.耐克】【....】
所以 if slogan[0] == name[0],就是让两个字符串的第一位数字匹配
达到实现品牌和标语匹配的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-11 20:42:11 | 显示全部楼层
slogan就只是一个变量的名字而已,slogan[2:]这是把变量slogan从索引2开始到这个变量后面的所有元素都切片出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-11 23:27:08 From FishC Mobile | 显示全部楼层
大马强 发表于 2022-1-11 20:07

感谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-11 23:28:08 From FishC Mobile | 显示全部楼层
感谢大家回答我的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 13:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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