|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zero月蚀的假面 于 2018-1-6 22:54 编辑
- list1 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
- list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
- list3 = [name+':'+flag[2:] for name in list2 for flag in list1 if name[0]==flag[0]]
- list3.sort()
- for each in list3:
- print(each)
复制代码
①flag[2:]这里为什么在经过for in后就变成了链表可以用[2:],正常for in 循环不是应当一个一个字母输出即可吗?
②if name[0]==flag[0],这个条件可以写下详解吗?每一个名字和标语是怎么匹配的
- #使用列表表达式方法
- list1 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
- list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
- list3=[name+':'+flag[2:] for name in list2 for flag in list1 if flag[0]==name[0]]
- #name+':'+flag[2:] 是一个整体,name和flag是两个变量然后name是list2里的元素flag是list1里的元素(但是有条件flag中第一个字符与name中的第一个字符相同)
- list3.sort()
- for i in list3:
- print(i)
- print()
- #如果不用列表表达式
- list4 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
- list5 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
- list6=[]#先建一个空的列表
- for name in list5:
- for flag in list4:
- if name[0]==flag[0]:#判断一个字符是不是一样
- list6.append(name+':'+flag[2:])#如果相同就往列表3里添加
- list6.sort()
- for i in list6:
- print(i)
复制代码
|
|