鱼C论坛

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

[已解决]python第012讲课后作业问题

[复制链接]
发表于 2020-1-21 21:22:16 | 显示全部楼层 |阅读模式

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

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

x
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
这个slogan是什么???
最佳答案
2020-1-22 10:10:00
slogan 是一个变量:

for slogan in list1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-21 21:25:40 | 显示全部楼层
list3 = [name + ':' + b[2:] for b in list1 for name in list2 if b[0] == name[0]]

这个b是什么,是一个变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-21 21:42:14 | 显示全部楼层
  1. list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
复制代码

就像:list3 = [name ( for name in list2)+ ':' + slogan[2:] (for slogan in list1) if slogan[0] == name[0]]
意思是name从list2列举输出,list1应该是容器类型里头还有容器eg:[[1,2,3,4],[2,3,4,5],[1,2,4,3]],意思是从列表当中列举里头的容器,并索引从第三个数开始到结束,条件是如果两个容器开头的值相等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-22 00:29:20 | 显示全部楼层
本帖最后由 jackz007 于 2020-1-22 00:30 编辑

        这是一个列表推导式,展开后,会比较好理解一些。
  1. list1 = ['1.Jost do it' , '2.一切皆有可能' , '3.让编程改变世界' , '4.impossible is nothing']
  2. list2 = ['4.阿迪达斯' , '2.李宁' , '3.鱼C工作室' , '1.耐克']
  3. list3 = []
  4. for slogan in list1:    # slogan 是循环变量,在循环中将依次等于list1 中的 4 个元素之一,也就是说,slogan 是一个字符串,如:'2.一切皆有可能'                    
  5.     for name in list2:  # name 是循环变量,在循环中将依次等于list2 中的 4 个元素之一,也就是说,name 是一个字符串,如:'2.李宁'
  6.         if slogan[0] == name[0]:
  7.             list3 . append(name + ':' + slogan[2:])
复制代码

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

使用道具 举报

发表于 2020-1-22 10:10:00 | 显示全部楼层    本楼为最佳答案   
slogan 是一个变量:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 17:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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