|
发表于 2017-5-3 17:05:01
|
显示全部楼层
本楼为最佳答案
给你分解了一下,看注释,我已经尽可能说的很清楚了
- 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]]
- #上面这句其实是下面5句的组合形式,你能理解下面5句才能理解上面一整句
- list3 = [] #这句是定义一个空列表,没问题吧
- for slogan in list1: #这句是循环列表1中每个字符串
- for name in list2: #循环列表2的字符串
- if slogan[0] == name[0]: #这句是用来判定两个列表中字符串的第一个元素是不是相当的(其实就是在匹配1,2,3,4这几个数字),只有当他们相等的时候才匹配,这就是为什么第二个列表的顺序是乱的也能和第一个列表匹配上
- list3.append(name+":"+slogan[2:]) #这句是把2个列表中元素合成一个字符串,slogan[2:]表示从第3个元素开始,也就是不需要前面的1.
- for each in list3:
- print(each)
复制代码 |
|