|
|
发表于 2019-8-24 18:45:32
|
显示全部楼层
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
不明白的是这个 ?先看下什么事列表推导式? 我们简单的理解成是按照一定的条件的元素组成的一个列表,
那么先看下这个推导式表示什么意思
他等同于 for slogan in list1: #迭代从列表1中依次取出元素(1.just do it 等等)
for name in list2: #迭代从列表2中依次取出元素(4.阿迪达斯 等等) #当然这里相等的话应该是(1.耐克)的第一个字符(1)
if slogan[0]==name[0] #如果从列表1中取出的元素(1.just do it )的第一个字符(1)等于从列表2中取出的元素(4.阿迪达斯 )的第一个字符(4)
list3.append(name+':'+slogan[2:]) #我们形成一个list3的新元素是由name(1.耐克)和‘:’ 和slogan[2:] (slogan从第第三个字符到结尾just do it)连
接成的新字符串(1.耐克:just do it) 这样依次迭代找出相对应的语句组成元素 组成list3列表
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
#表示组成的新元素 #推导条件
|
|