鱼C论坛

 找回密码
 立即注册
查看: 2878|回复: 4

[已解决]第12课后习题 第6题 列表推导式的问题

[复制链接]
发表于 2018-8-23 20:43:02 | 显示全部楼层 |阅读模式

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

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

x
烦请各路大神,第三行的列表推导式是什么意思?谢谢解答~

list1 = ['1,just do it','2,一切皆有可能','3,让编程改变世界',]
list2 = ['3,鱼c工作室’,‘1,耐克','2,李宁']
list3 = [name + ':' +slogn[2:]for slogn in list1 for name in list2 if name[0] == slogn[0]]
for each in list3:
    print(each)


这是list3的列表推导式的解析式:

for slogn in list1:
    for name in list2:
        if name[0] == slogn[0]:
            list3 = [name + ':' +slogn[2:]]
解析式的第三行、第四行是什么意思?
最佳答案
2018-8-23 20:54:04
for slogn in list1:                     # list1 的元素用 slogan 表示
    for name in list2:                 # list2 的元素用 name 表示
        if name[0] == slogn[0]:   # 如果元素的第一个子元素一样(前面的数字)
            list3 = [name + ':' +slogn[2:]]    # name + ':' + slogan[去掉前面两个元素,即数字与逗号], 把这些东西并起来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-8-23 20:52:30 | 显示全部楼层
        if name[0] == slogn[0]:   #如果list2中的元素的第0个字符(即前面的数字)与list1中元素的第0个字符相同
            list3 = [name + ':' +slogn[2:]]  #新列表为list2中的元素加上':'加上list1中元素的第2个字符以后的字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-23 20:54:04 | 显示全部楼层    本楼为最佳答案   
for slogn in list1:                     # list1 的元素用 slogan 表示
    for name in list2:                 # list2 的元素用 name 表示
        if name[0] == slogn[0]:   # 如果元素的第一个子元素一样(前面的数字)
            list3 = [name + ':' +slogn[2:]]    # name + ':' + slogan[去掉前面两个元素,即数字与逗号], 把这些东西并起来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-23 21:02:08 | 显示全部楼层
claws0n 发表于 2018-8-23 20:54
for slogn in list1:                     # list1 的元素用 slogan 表示
    for name in list2:         ...

谢谢~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-23 21:03:47 | 显示全部楼层
冬雪雪冬 发表于 2018-8-23 20:52
if name[0] == slogn[0]:   #如果list2中的元素的第0个字符(即前面的数字)与list1中元素的第0个 ...

谢谢大神~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 04:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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