小丑9 发表于 2022-1-11 19:37:53

python第12讲的课后作业不会

https://xxx.ilovefishc.com/forum/201310/12/044035qddrqkmrqod4cqmr.png
>>> list3 = for slogan in list1 for name in list2 if slogan == name]
求大佬讲解一下这个答案,我看不明白 slogan是什么意思, if slogan == name又是什么意思

大马强 发表于 2022-1-11 20:07:45

本帖最后由 大马强 于 2022-1-11 21:25 编辑

list3 = for slogan in list1 for name in list2 if slogan == name]
等价于
for slogan in list1:
    for name in list2:
      if slogan == name:
            list3.append(name + ':' + slogan)

slogan -> 切片 这个存放的时那些品牌的名字,它的作用=>"1.耐克" = "耐克"
将前面的 "1." "2."之类去掉,只保留后面的汉字

大马强 发表于 2022-1-11 20:10:54

本帖最后由 大马强 于 2022-1-11 21:28 编辑

大马强 发表于 2022-1-11 20:07


因为slogan 存放的是标语字符串【1.just do it ! 】【...】,name存放的是品牌的名字【1.耐克】【....】
所以 if slogan == name,就是让两个字符串的第一位数字匹配
达到实现品牌和标语匹配的效果

甜蜜难在 发表于 2022-1-11 20:42:11

slogan就只是一个变量的名字而已,slogan这是把变量slogan从索引2开始到这个变量后面的所有元素都切片出来。

小丑9 发表于 2022-1-11 23:27:08

大马强 发表于 2022-1-11 20:07


感谢大佬

小丑9 发表于 2022-1-11 23:28:08

感谢大家回答我的问题
页: [1]
查看完整版本: python第12讲的课后作业不会