willty 发表于 2018-5-27 23:03:45

python零基础课后题第十二题疑惑

本帖最后由 willty 于 2018-5-28 09:05 编辑

>>> list3 = for slogan in list1 for name in list2 if slogan == name]

这行代码,如果将它写成一步一步的是什么样呢?不是很懂,谢谢!

thexiosi 发表于 2018-5-27 23:06:22

hi list3的代码实际上是一个列表推导式,包含: 循环+分支+列表基础知识,可以按循环+分支进行编写
list1 = ['1.just do it','2,一切皆有可能','3.让编程改变世界']
list2 = ['2.lining','3.fishc','1.nike']
list3 = []

for i in list1:
    for j in list2:
      if i == j: #比较list1、list2 元素中的第一个字符
            list3.append(j + ':' + i)#若相同,按格式写入

print(list3)

willty 发表于 2018-5-28 09:01:46

thexiosi 发表于 2018-5-27 23:06
hi list3的代码实际上是一个列表推导式,包含: 循环+分支+列表基础知识,可以按循环+分支进行编写

if i == j: #比较list1、list2 元素中的第一个字符

主要就是这个没明白,你给了个标注后就懂了,原来也可以用在字符串中取第几个字符上,学习了。{:5_109:}

BngThea 发表于 2018-5-28 09:02:31

for slogan in list1:
    for name in list2:
      if slogan == name:
            list3.append(name + ':' + slogan)
页: [1]
查看完整版本: python零基础课后题第十二题疑惑