【问题标题】:Insert list items at start of of each item in a list of lists在列表列表中每个项目的开头插入列表项
【发布时间】:2020-07-29 20:25:19
【问题描述】:

我有两个长度相同的列表:

List<List<String>> list1 = [["John","Omar","Jane"],["Rick","Hulie","Frank"],["Pri","Mary","Tim"]]
 List<int> list2 = [1,5,9]

我想像这样将 list2 中的数字添加到 list1 中列表的开头..

list3 看起来像

 [["1","John","Omar","Jane"],["5", "Rick","Hulie","Frank"],["9","Pri","Mary","Tim"]]

【问题讨论】:

  • 考虑是否需要它是一个列表列表,或者它是否可以是Queues 的列表。然后在前面添加会更便宜。

标签: dart


【解决方案1】:

您可以遍历列表并在索引 0 处插入每个数字。

 List<List<String>> list1 = [["John","Omar","Jane"],["Rick","Hulie","Frank"], ["Pri","Mary","Tim"]];
 List<int> list2 = [1,5,9];
 for (int i = 0;i < list1.length;i++) {
   list1[i].insert(0,list2[i].toString());
 }
 
 // if you want a more dart like the solution then use this.
 list1.asMap().forEach((index,value) => value.insert(0,list2[index].toString()));

【讨论】:

  • “更像 Dart”的版本并不是特别有效。它更像函数式编程,但 Dart 既是函数式又是命令式的,所以函数式方法并不是真正的“更多 Dart”。我更喜欢前一种方法,它更清晰。
  • @Irn 感谢您的解释。事实上,我也更喜欢第一种方法,我只是分享了两种方法,让操作人员决定他想使用什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-07
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
相关资源
最近更新 更多