Python老版第十二讲的课后作业第六题求解
list1 = ['1.Jost do t ','2.一切皆有可能','3.让编程改变世界','4.Impossibleis Nothing']list2 = ['4.阿迪达斯', '3.鱼C工作室','1.耐克']
list3 = for slogan in list1 for name in list2 if slogan == name]
for each in list3:
print(list3)
列表三的代码不是很明白,求个大佬讲解一下 代码的功能是将列表1和列表2中的元素进行匹配,如果两者的首字母相同,就将它们合并成一个字符串,添加到列表3中。
具体来说,代码中的列表解析式:
for slogan in list1 for name in list2 if slogan == name]
可以拆分为以下部分:
for slogan in list1:
for name in list2:
if slogan == name:
list3.append(name + ':' + slogan)
首先,外层的`for`循环遍历列表1中的元素。内层的`for`循环遍历列表2中的元素。`if`语句判断当前遍历到的两个元素的首字母是否相同。
如果相同,就将它们合并成一个字符串,其中`name + ':'`表示公司名和冒号的组合,`slogan`表示口号去掉序号后的部分。然后将这个字符串添加到列表3中。
最终,列表3中的元素就是由列表1和列表2中匹配成功的元素组合而成的字符串。 isdkz 发表于 2023-3-20 16:48
代码的功能是将列表1和列表2中的元素进行匹配,如果两者的首字母相同,就将它们合并成一个字符串,添加到列 ...
请问大佬for循环遍历列表的元素,是将列表内所有的都遍历一遍吗。我理解的遍历是将list2中的'4.阿迪达斯', '3.鱼C工作室','1.耐克'这几个访问一次,没理解还要遍历这些元素里面的值。
页:
[1]