list1=['1.Just do It','2.一切皆有可能']
>>> list2=['2.李宁','1.耐克']
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
>>> for each in list3:
print(each)
最后的list3是在看不懂什么意思啊,求大神帮我分析下,我打了slogan对象里面是什么东西,为什么slogan要从第二个开始切片?
我们展开生成list3的表达式,变成标准的for循环:
list3 = []这样就可以看得很清楚了。
name变量和slogan变量都是字符串,各自遍历list2和list1中的每一个元素。比如在第一次进入for循环时,name是'2.李宁',slogan是'1.Just do It'。对于字符串变量slogan:
slogan[0]表示取第0个字符,即'1';
slogan[2:]表示取从第2个字符开始到结束,即'Just do It';
这都是python的原生语法,应该熟练掌握。
什么意思,完全不懂
追答python有种语法叫列表解析