|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> list1 = ['1.Jost 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.耐克:Jost do It
2.李宁:一切皆有可能
3.鱼c工作室:让编程改变世界
4.阿迪达斯:Impossible is Nothing
list3后面的列表推导式看不懂 有大神帮忙解析成语句吗
本帖最后由 Stubborn 于 2018-12-16 00:23 编辑
- list1 = ['1.Jost 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 变量 in 列表for 变量 in 列表 if 条件 ]
- #新的列表“格式是这样的” [name + ':' + slogan[2:] 这个“格式”里面的变量从哪里来的呢?有仔细看我的笔记应该可以看到的
- #首先看name的值 是从list2列表历遍出来的,是list2列表里面每个的值。同理slogan[2:]等于list1里面每个的值。 自己注意切片位置
- [b]#假如没有后面if条件,你自己思考下,得出来的list3会是什么? 而后面if条件筛选出来的又是什么条件的字符串,多多思考下。[/b]
- list1=["羊","狗","牛"]
- list2=['草','狗粮','菜']
- [x+'吃'+y for x in list1 for y in list2]
- ['羊吃草', '羊吃狗粮', '羊吃菜', '狗吃草', '狗吃狗粮', '狗吃菜', '牛吃草', '牛吃狗粮', '牛吃菜']
- #对比下这里,x+'吃'+y 这里是所谓新列表的“格式”,里面 x和y的值是怎么来的?
复制代码
|
|