|
|
发表于 2018-4-2 11:56:13
|
显示全部楼层
- #给网友解释:
- #list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
- 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]]
- list3 = []
- for slogan in list1:
- for name in list2:
- if slogan[0] == name[0]:
- list3.append('%s : %s' % (name, slogan[2:]))
- for line_context in list3:
- print(line_context)
- '''
- 熟悉列表推导式的步骤:
- 1.如果想理解列表推导式,你先需要了解简单的列表推导式。
- 2.了解简单列表推导式步骤:
- 需要还原列表推导式为普通语块,然后你要对着两个表达式相对比较,这是必要的。
- 3.了解了简单的列表推导式,然后进一步做升级版的列表推导式,把他还原出来,对比。
- 4.提醒的是一般是for循环一层一层的缩进,然后条件也是缩进,一般列表推导式就这样规则,先输出结果试一试,结果一样就是还原对了
- 对这个题目的关键处提醒:
- 1.list1对应slogan list2对应name,这里slogan和name的数据类型是字符串,来源于for循环每次遍历都会把list1和list2的每个元素打印出来。
- 2.name是list2的每个元素。
- 3.slogan[2:]这个是字符串的切片功能。例如'slogan = 1.Just do It' slogan[2:],这就得到了J开始到后面的全部字符串。
- '''
复制代码 |
|