逆鳞丶樱之羽 发表于 2020-11-23 20:01:00

列表推导式的疑惑

用法:[有关A的表达式 for A in B]
下面是作业12讲第6题,要求用列表推导式将list2和list1合并在list3中,
下面是我的写法(代码没问题),我还是不太理解列表推导式怎么用,求大佬把我下面代码用列表推导式来建立list3,允许优化。
要是能详细点解释列表解析就更好了,谢谢。

list1 = ['1.just do It','2.一切皆有可能','3.让编程改变世界','4.Impossible']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
list3 = []

for i in range(len(list1)):
      list2.sort()
      for each in list1:
                list3.append(list2 + each.replace(str(i+1) + '.',':'))
                i +=1
      break
print(list3)

Twilight6 发表于 2020-11-23 20:17:11


参考代码:

list1 = ['1.just do It','2.一切皆有可能','3.让编程改变世界','4.Impossible']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
list2.sort()

list3 = + list1.replace(str(i+1) + '.',':') for i in range(len(list1))]
print(list3)

关于甲鱼哥这题的解析,你可以看看这个帖子,应该能让你更理解些列表推导式的用法:

[已解决] python 第12讲的课后习题第六题
https://fishc.com.cn/thread-175291-1-1.html
(出处: 鱼C论坛)

逆鳞丶樱之羽 发表于 2020-11-23 22:20:00

Twilight6 发表于 2020-11-23 20:17
参考代码:




谢谢,我还有一个问题,如下图,为什么list2中的‘(数字).'没有被替换成:,是不是.replace()是外部函数,不修改内部值?
页: [1]
查看完整版本: 列表推导式的疑惑