rychair 发表于 2020-11-6 22:54:37

零基础入门学习Python第12讲课后作业第六题

6. 活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
题目见图片
答案如下:
list1 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.impossible is nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']

list3 = for slogan in list1 for name in list2 if slogan == name]
打印list3结果:
1.耐克:Just do it
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界
4.阿迪达斯:impossible is nothing

我的问题:
1、slogan 这是什么意思?
2、slogan 和 name 这又是什么意思?
3、以上两个列表为何都没有被定义过呢?而且for后面的slogan和name也没有被定义过啊?
4、列表推导式又会是什么样子呢?是不是这个句子拆分成几个语句呢?如何拆分?

抱歉,水平太次,谢谢高手指点

昨非 发表于 2020-11-6 22:56:05

<font color="red">[已解决]</font>关于12讲课后作业 . 活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
https://fishc.com.cn/thread-180802-1-1.html
(出处: 鱼C论坛)

昨非 发表于 2020-11-6 22:56:55

这个链接有详解,新鱼友要善用论坛搜索功能
很多问题前人都问过,并且得到了很好的解决

rychair 发表于 2020-11-7 07:41:28

昨非 发表于 2020-11-6 22:56
这个链接有详解,新鱼友要善用论坛搜索功能
很多问题前人都问过,并且得到了很好的解决

谢谢您的提醒,我搜索到了答案的解释。但是因为我的水平太次,还是有些小问题希望能得到解答。
1、第一个slogan后面为啥是,而不是(),这个 2: 又是什么意思?为啥就不是单单 name + ‘:' + slogan,因为 for 后面就单独是 slogan ?
2、两个列表中元素首字符相同加起来,这个我明白了,举例:'1.耐克' + '1.Just do It' , 两个字符串加起来后打印结果为啥slogan里面的1 没有了 ?
谢谢高手

昨非 发表于 2020-11-7 08:28:47

rychair 发表于 2020-11-7 07:41
谢谢您的提醒,我搜索到了答案的解释。但是因为我的水平太次,还是有些小问题希望能得到解答。
1、第一 ...

我上面发的链接里有讲解啊

昨非 发表于 2020-11-7 08:33:34

是列表切片操作,取第二个及其以后的字符
后面那个for是列表推导式的语法,意思是遍历list1里的每个元素slogen进行切片
2.没有1是因为切片切掉了

昨非 发表于 2020-11-7 08:34:08

认真看二楼我发的链接

rychair 发表于 2020-11-7 10:54:27

昨非 发表于 2020-11-7 08:33
是列表切片操作,取第二个及其以后的字符
后面那个for是列表推导式的语法,意思是遍历list1里的每个元 ...

谢谢
页: [1]
查看完整版本: 零基础入门学习Python第12讲课后作业第六题