|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>>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]]
>>>for each in list3:
print(each)
对于那个列表推导式,有两个疑问:
1、slogan[2:]是把list1中的最后两个字符串拿出来吗?如果是这样的话对后续有什么用呢?
2、if条件下slogan[0] == name[0]怎么能够让他们一一匹配呢?
你可以自己试一下:
1. 【slogan[2:] for slogan in list1】结果是:
['just do it', '一切皆有可能', '让编程改变世界', 'impossible is nothing']
就是把数字加‘.'去掉之后的字符串表示出来(从第三个字符开始表示,去掉前两个字符)。
2. list3的内容你修改下:
list3 = [name, slogan for slogan in list1 for name in list2 if slogan[0] == name[0]]
这样能看懂么?
就是定义两个变量,其内容分别从list1 和 list2中提取,条件是:
slogan[0] == name[0]
即每个字符串的前2个内容相同。(如'1.' == '1.' )
|
|