yhy910316 发表于 2021-8-16 23:59:23

求大神帮忙解决一下列表推导式的问题

本帖最后由 yhy910316 于 2021-8-16 23:59 编辑

以下两种输入模式结果不一样,问题在哪里
tri = []
for i in range(10):
    tri.append([])
print(tri)



tri = []
tri =
print(tri)


这两个为什么结果不一样,问题出在哪里

basketmn 发表于 2021-8-17 07:18:54

第二个你可以改成这样
tri = []
tri = [[] for i in range(10)]
print(tri)

wp231957 发表于 2021-8-17 10:27:32

第二段代码你保存的是append的地址并没有执行该方法
想实现这些方法需要这样做
tri = []
addr =
for x in addr:
    x([])
print(tri)

yhy910316 发表于 2021-8-17 10:45:05

basketmn 发表于 2021-8-17 07:18
第二个你可以改成这样
tri = []
tri = [[] for i in range(10)]


这个我知道,只是我想知道第二个为什么不行,楼下解释了一下

yhy910316 发表于 2021-8-17 10:48:08

wp231957 发表于 2021-8-17 10:27
第二段代码你保存的是append的地址并没有执行该方法
想实现这些方法需要这样做

稍微有些明白了,谢谢大佬

wp231957 发表于 2021-8-17 10:57:19

yhy910316 发表于 2021-8-17 10:48
稍微有些明白了,谢谢大佬

这个问题和闭包有一丝丝联系,你可以一起学一下

yhy910316 发表于 2021-8-17 22:54:57

wp231957 发表于 2021-8-17 10:57
这个问题和闭包有一丝丝联系,你可以一起学一下

还没有学到,刚刚学到列表推导式这边{:10_266:}
页: [1]
查看完整版本: 求大神帮忙解决一下列表推导式的问题