|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 山沟流水 于 2017-6-4 16:17 编辑
昨天看来别人分享笔记,里面有这么一道题:
大概意思是:把list1和list2按照对应的口号输出,形式是这样:
答案是这样的
list1=['1.just do it','2.一切皆有可能','3.让编程改变世界']
list2=['3.鱼C工作室','1.耐克','2.李宁']
list3=[name+':'+slogan[2:]for slogan in list1 for name in list2 if name[0]==slogan[0]]
for each in list3:
print(each)
问题:list3语句不清楚该怎么理解?里面是两个for循环吗?
- [name+':'+slogan[2:] for slogan in list1 for name in list2 if name[0]==slogan[0]]
复制代码
这个表达式可以拆成两部分看
第一部分:是输出结果的样式
第二部分:是“内容提供器”
- for slogan in list1 for name in list2 if name[0]==slogan[0]
复制代码
把这个写开了是下面这样的
- list3 = []
- for slogan in list1:
- for name in list2:
- if name[0]==slogan[0]:
- list3.append(name+':'+slogan[2:])
复制代码
|
|