gpt4 book ai didi

list - 如何处理列表列表?

转载 作者:行者123 更新时间:2023-12-05 01:37:20 26 4
gpt4 key购买 nike

有人可以解释这段代码出了什么问题吗?
从代码中(至少我自己)会期望在运行此代码后,数字列表看起来像 numbers = [[0], [1]] ,但它看起来像 numbers= [[0,1], [0,1]] .

void main() {
int n = 2;
List<List<int>> numbers = new List.filled(n, []);

for(int i=0; i<n; i++)
for(int j=i+1; j<n; j++ ){
numbers[i].add(0);
numbers[j].add(1);
}
}

最佳答案

似乎列表中的每个元素都填充了相同的 [] 实例。 .
如果你这样做 numbers[0].add(0); numbers[0]numbers[1]显示添加的 0因为它们引用了相同的列表实例。

将列表初始化更改为

List<List<int>> numbers = new List.generate(n, (i) => []);

显示您的预期行为。

关于list - 如何处理列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com