a86231759 发表于 2021-1-19 10:34:28

关于python课后作业

这个列表推导式没看明白呀,有没有大神解读一下呀。

昨非 发表于 2021-1-19 11:59:41

由for slogan in list1 for name in list2
这部分可知,答案中的slogan和name是列表中的元素,也就是每个字符串
就是代表取第一个字符,也就是序号
if slogan == name
就代表序号相同的字符串

以上为判断部分,下面是操作部分
name + ':' + slogan
这是对字符串的拼接操作(+):
name是列表1中的一整个字符串,
slogan则死列表2中除去前两个字符的部分(也就是口号去掉序号和.)
中间再加个冒号,拼成新的字符串作为新的列表的元素

jackz007 发表于 2021-1-19 12:13:01

list3 = for slogan in list1 for name in list2 if slogan == name]:
      展开后是这样:
list3 = []
for slogan in list1:
    for name in list2:
      if slogan == name:
            list3 . append(name + ':' + slogan)

a86231759 发表于 2021-1-19 12:56:37

昨非 发表于 2021-1-19 11:59

这部分可知,答案中的slogan和name是列表中的元素,也就是每个字符串
就是代表取第一个字符,也就 ...

感谢感谢!!!

a86231759 发表于 2021-1-19 13:00:49

jackz007 发表于 2021-1-19 12:13
展开后是这样:

这样清楚多了。感谢!
页: [1]
查看完整版本: 关于python课后作业