gpt4 book ai didi

list - Dart:访问列表列表的一列

转载 作者:行者123 更新时间:2023-12-03 03:15:46 24 4
gpt4 key购买 nike

我创建了以下列表:

  List files = <List>[
["File1.jpg", "Name 1"],
["File2.jpg", "Name 2"],
["File3.jpg", "Name 3"],
];

该列表背后的思想是访问ListView上显示的某些文件,并显示一些标题而不是文件名。

是否可以按列访问元素?

如本 post所述,我可以按以下方式访问各个元素:
 files[0][0] = "File1.jpg";

但想从上面的列表中获得以下信息:
["File1.jpg", "File2.jpg", "File3.jpg"] // and
["Name 1", "Name 2", "Name 3"]

类似于: files[all rows][0]files[all rows][1]
我需要这个或类似的东西,因为我已经按名称实现了搜索栏,所以当我搜索“2”时,我可以得到 ["File2.jpg", "Name 2"]

最佳答案

您可以对列表进行预处理,以使列像这样:

  var files = <List>[
['File1.jpg', 'Name 1'],
['File2.jpg', 'Name 2'],
['File3.jpg', 'Name 3'],
];

var col0 = files.map<String>((row) => row[0]).toList(growable: false);
var col1 = files.map<String>((row) => row[1]).toList(growable: false);
col0col1现在是 List<String>,具有按列的值。

考虑使用 where选择特定的匹配行(您可以定义“matching”的含义)行。例如:
  var criterion = '2';
var selected = files.where((row) {
for (var col in row) {
if (col.contains(criterion)) {
return true;
}
}
return false;
}).toList();
print (selected);

关于list - Dart:访问列表列表的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59564583/

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