求助代码
list3 = []list1 = ['1.Just do it','2.一切皆有可能','3.hope is a good thing','4.Impossible is nothing']
list2 = ['4.阿迪达斯','2.李宁','3.谷睿','1.耐克']
for slogan in list1:
for name in list2:
if slogan == name:
list3.append(name + ':' +slogan )
for each in list3:
print(each)
有没有大佬能帮我看看,红色部分是咋回事啊,我看不太明白,就是slogan和name是啥意思为啥要让他俩相等啊,他俩咋会相等的啊,明明是两个不同的列表。
还有slogan这个又是啥意思为啥要有不能直接用[ ]么?或者直接用slogan,我看name也没加啊
for slogan in list1:
for name in list2:
if slogan == name:
list3.append(name + ':' +slogan )
这是两个循环
外循环for slogan in list1:
每次循环,从list1中取一个元素赋值给slogan
内循环for name in list2:
每次循环,从list2中取一个元素赋值给name
执行顺序
首先,第一次进入外循环for slogan in list1:
此时
slogan=1.Just do it
这slogan的类型是str,即字符串
slogan,即取该字符串下标为0的字符,也就是
slogan=1
之后,第一次进入内循环for name in list2:
同理,name = 4.阿迪达斯, name=4
明显不相等,所以,不执行if语句
第二次进入内循环for name in list2:
name =2.李宁, name=2
第三次进入内循环for name in list2:
name = 3.谷睿, name=3
第四次进入内循环for name in list2:
name = 1.耐克, name=1
当name = 1 时,等于slogan
执行if语句list3.append(name + ':' +slogan )
在list3列表追加此时name的值, ':', 和slogan
slogan的意思是slogan下标为2的字符到结束
此时,name = 1.耐克,slogan = 1.Just do it,slogan = Just do it
所以list3.append(name + ':' +slogan ),即为list3.append('1.耐克' + ':' +'Just do it' )
于是list3 = ['1.耐克:Just do it']
之后,因为list2中只有4个元素,所以,for name in list2循环4次后就结束了
然后,就进入第二次外循环for slogan in list1
此时,slogan = 2.一切皆有可能,slogan = 2
然后,再次进行4次内循环for name in list2
....
...
..
循环到最后,list3 = ['1.耐克:Just do it','2.李宁:一切皆有可能'.'3.谷睿:hope is a good thing','4.阿迪达斯:Impossible is nothing']
之后
for each in list3:
print(each)
用for 循环把list3的元素都打印出来 本帖最后由 青出于蓝 于 2021-7-8 16:14 编辑
sloganslogan是一个字符串,slogan就是这个字符串的第一个字符,也就是那个编号(1,2,3,4)
name同理,name也就是那个编号
当编号相同,name对应slogan,就贮存到list3中
页:
[1]