其实列表推到式就是普通for循环的简化,用for循环重写一下就明白了。list1 = ['1.just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
#list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
list3 = []
for slogan in list1:
for name in list2:
if slogan[0] == name[0]:
list3.append(name + ': '+slogan[2:])
for each in list3:
print(each)
输出:1.耐克: just do it
2.李宁: 一切皆有可能
3.鱼c工作室: 让编程改变世界
4.阿迪达斯: Impossible is Nothing
这个2重循环总共16个组合,如果没有if判断,全输出则是:4.阿迪达斯: just do it
2.李宁: just do it
3.鱼c工作室: just do it
1.耐克: just do it
4.阿迪达斯: 一切皆有可能
2.李宁: 一切皆有可能
3.鱼c工作室: 一切皆有可能
1.耐克: 一切皆有可能
4.阿迪达斯: 让编程改变世界
2.李宁: 让编程改变世界
3.鱼c工作室: 让编程改变世界
1.耐克: 让编程改变世界
4.阿迪达斯: Impossible is Nothing
2.李宁: Impossible is Nothing
3.鱼c工作室: Impossible is Nothing
1.耐克: Impossible is Nothing
|