|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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[0] == name[0]:
list3.append(name + ':' +slogan[2:] )
for each in list3:
print(each)
有没有大佬能帮我看看,红色部分是咋回事啊,我看不太明白,就是slogan[0]和name[0]是啥意思为啥要让他俩相等啊,他俩咋会相等的啊,明明是两个不同的列表。
还有slogan[2:]这个又是啥意思为啥要有[2:]不能直接用[ ]么?或者直接用slogan,我看name也没加啊
for slogan in list1:
for name in list2:
if slogan[0] == name[0]:
list3.append(name + ':' +slogan[2:] )
这是两个循环
外循环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],即取该字符串下标为0的字符,也就是
slogan[0]=1
之后,第一次进入内循环for name in list2:
同理,name = 4.阿迪达斯, name[0]=4
明显不相等,所以,不执行if语句
第二次进入内循环for name in list2:
name =2.李宁, name[0]=2
第三次进入内循环for name in list2:
name = 3.谷睿, name[0]=3
第四次进入内循环for name in list2:
name = 1.耐克, name[0]=1
当name[0] = 1 时,等于slogan[0]
执行if语句list3.append(name + ':' +slogan[2:] )
在list3列表追加此时name的值, ':', 和slogan[2:]
slogan[2:]的意思是slogan下标为2的字符到结束
此时,name = 1.耐克,slogan = 1.Just do it,slogan[2:] = Just do it
所以list3.append(name + ':' +slogan[2:] ),即为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[0] = 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的元素都打印出来
|
|