课后练习请问这个怎么理解?
>>> list2 = ['1.q','2.w','3.e','4.r']>>> list3 = ['2.5','1.6','4.7','1,8']
>>> list3 = for slogan in list2 for name in list3 if slogan == name]
>>> for each in list3:
print(each)
1.6:q
1,8:q
2.5:w
4.7:r
请问大佬这个是什么意思?
slogan for slogan in list2
还有这个
if slogan == name
为什么是1.6:q而不是1.6:1.q 列表推导式 slogan for slogan in list2
这里相当于遍历slogan列表,每一个slogan都是列表里的元素,
而slogan,是列表的切片操作,取元素slogan第三个及其以后的字符
slogan和name就是每个元素(字符串)的第一个字符,即序号,通过if slogan == name的判断,来将序号相同的字符串拼接在一起 本帖最后由 笨鸟学飞 于 2020-10-14 17:02 编辑
list3 = for slogan in list2 for name in list3 if slogan == name]
是列表推导式:
等同于:
for slogan in list2: #遍历列表list2,首次循环slogan = '1.q'
for name in list3: #遍历列表list3,第2次时循环 name = '1.6'
if slogan == name:#判断序号是否相等
list3 = name + ":"+slogan#如果相等,则把字符串切片,顺序是0,1,2,也就是6q
页:
[1]