D2B 发表于 2018-7-8 22:38:19

关于列表推导式课后题答案部分求解疑

各位大神们,请问下小甲鱼的课后作业中讲到的列表推导式该怎么理解呢?尤其是最后一个题目,没看懂,请各位指点一二,谢谢
题目如下:
list1=['1.Jost 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]
for each in list3:
    print(each)

输出打印结果为:1.耐克:Jost do it
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界
4.阿迪达斯:Impossible is Nothing

请指点小妹下list3= for slogan in list1 for name in list2 if slogan == name]相当于怎么样的一段完整代码呢?
万分感谢各位的指导!!

冬雪雪冬 发表于 2018-7-8 23:02:06

写成普通的代码是:
list1=['1.Jost 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.append(name + ': ' + slogan)
for each in list3:
    print(each)

D2B 发表于 2018-7-9 09:58:30

谢谢指教,感恩{:7_131:}

fangweiguo 发表于 2018-7-26 10:48:55

冬雪雪冬 发表于 2018-7-8 23:02
写成普通的代码是:

这段能解释一下不 没看懂

冬雪雪冬 发表于 2018-7-26 11:15:52

第一次循环,slogan为'1.Jost do it',name为'4.阿迪达斯',slogan为'1', name为'4‘,如果这两个相等则凑成一对。放入list3中

D2B 发表于 2018-7-26 15:59:13

冬雪雪冬 发表于 2018-7-26 11:15
第一次循环,slogan为'1.Jost do it',name为'4.阿迪达斯',slogan为'1', name为'4‘,如果这两个相 ...

谢谢
页: [1]
查看完整版本: 关于列表推导式课后题答案部分求解疑