鱼C论坛

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

[已解决]第十二讲,第六题

[复制链接]
发表于 2020-5-23 09:24:03 | 显示全部楼层 |阅读模式

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

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

x

list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]     #被涂鸦部分的代码

谁能解释这段代码
最佳答案
2020-5-23 09:26:27
本帖最后由 Twilight6 于 2020-5-23 09:28 编辑

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


可以分解为:
list3 = []
for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ':' + slogan[2:])


就是只要 for循环过程中  if slogan[0] == name[0] 这个条件成立 就将 name + ':' + slogan[2:] 其加入列表list3 之中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-23 09:26:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-5-23 09:28 编辑

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


可以分解为:
list3 = []
for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ':' + slogan[2:])


就是只要 for循环过程中  if slogan[0] == name[0] 这个条件成立 就将 name + ':' + slogan[2:] 其加入列表list3 之中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-23 09:35:41 | 显示全部楼层
Twilight6 发表于 2020-5-23 09:26
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
[h ...

slogan[2:],从2开始是什么意思啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-23 09:38:33 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-23 09:43 编辑

wzk_python 发表于 2020-5-23 09:35
slogan[2:],从2开始是什么意思啊


切片 操作  从第三个 取到最后一个的

比如 slogan  = ['aaa','cccc','ddd','ffff','tttt]
对应位置参数为    0       1      2     3      4

则 slogan[2:] = ['ddd','ffff','tttt']  切片操作有默认值 [start:end:step]  比如你这 slogan[2:] 只填了start = 2 后面的 end ,step 没填 则就为默认值  

start参数若没填 默认值为 0  end 默认值为 len(slogan) 的长度  step默认值为 1

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

使用道具 举报

 楼主| 发表于 2020-5-23 09:47:31 | 显示全部楼层
Twilight6 发表于 2020-5-23 09:38
切片 操作  从第三个 取到最后一个的

比如 slogan  = ['aaa','cccc','ddd','ffff','tttt]

我是不知道这里为什么用切片操作,而且是从2开始切。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-23 09:50:27 | 显示全部楼层
wzk_python 发表于 2020-5-23 09:47
我是不知道这里为什么用切片操作,而且是从2开始切。


                               
登录/注册后可看大图

因为题目要求得到这样的结果~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-23 09:55:52 | 显示全部楼层
Twilight6 发表于 2020-5-23 09:50
因为题目要求得到这样的结果~

多谢答复,我再好好理解理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-21 04:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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