1586747768 发表于 2023-3-20 16:40:09

老版python第十二讲的第六题求解

ist1 = ['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)
列表三的代码不是很明白,求个大佬讲解一下

isdkz 发表于 2023-3-20 16:48:46

本帖最后由 isdkz 于 2023-3-20 16:53 编辑

这段代码的作用是将列表1和列表2中的元素进行组合,并以特定的格式输出到列表3中。

具体来说,代码中的列表推导式使用了两个for循环和一个条件语句,其中第一个for循环遍历了列表1中的每一个元素,第二个for循环遍历了列表2中的每一个元素,条件语句判断了列表1中元素的首字母是否与列表2中元素的首字母相同。如果相同,则将两个元素组合成一个新的字符串,格式为“公司名:口号(去掉第一个字符)”,并将其添加到列表3中。

具体来说,代码的执行过程如下:

1. 首先遍历列表1中的第一个元素('1.Jost do t ');
2. 然后遍历列表2中的每一个元素,即'4.阿迪达斯'、'3.鱼C工作室'和'1.耐克';
3. 判断列表1中元素的首字母('1')是否与列表2中元素的首字母('4'、'3'和'1')相同,发现只有与'1.耐克'相同;
4. 将'1.Jost do t '和'1.耐克'组合成一个新的字符串('耐克:Jost do t '),并将其添加到列表3中;
5. 继续遍历列表2中的下一个元素,重复步骤3和4,直到列表2中的所有元素都被遍历完毕;
6. 回到步骤1,继续遍历列表1中的下一个元素,重复步骤2-5,直到列表1中的所有元素都被遍历完毕;
7. 最终得到的列表3包含了所有符合条件的组合结果。

最后,代码使用了一个for循环遍历列表3中的每一个元素,并打印出来。由于每个元素都是字符串类型,因此打印出来的结果也是字符串。
页: [1]
查看完整版本: 老版python第十二讲的第六题求解