list - 如何在 Dart 中将列表转换为 map

标签 list map dart

我要找一个 现货在 Dart 中将 List 转换为 Map 的方法。

例如在 python 中,您可以执行以下操作:

l= [ ('a',(1,2)), ('b',(2,3)), ('c',(3,4) ) ]
d=dict(l)
==> {'a': (1, 2), 'c': (3, 4), 'b': (2, 3)}

dict 函数需要一个情侣列表。对于每一对,第一个元素用作键,第二个元素用作数据。

在 Dart 中,我看到了以下列表方法: asMap() ,但它没有做我期望的:它使用列表索引作为键。
我的问题:
  • 你知道 Dart 库中有什么可以做到这一点吗?
  • 如果没有,有没有计划在核心库中添加这样的功能?

  • 提议:
    List.toMap() //same as python dict.
    List.toMap( (value) => [ value[0], value[1] ] ) //Using anonymous function to return a key and a value from a list item.
    

    感谢致敬,

    尼古拉斯

    最佳答案

    您可以使用 Map.fromIterable :

    var result = Map.fromIterable(l, key: (v) => v[0], value: (v) => v[1]);
    

    或 collection-for(从 Dart 2.3 开始):
    var result = { for (var v in l) v[0]: v[1] };
    

    关于list - 如何在 Dart 中将列表转换为 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16831535/

    相关文章:

    java - ArrayList 未正确填充

    android - 如何将标记添加到 Android 上的 ArcGIS map ?

    flutter - 用于Unicode 13表情符号的RegEx

    java - 我应该如何在 Java 中实现列表中的列表?或者有比列表列表更好的方法吗?

    java - 如何检查 ArrayList 中是否存在索引 + 1 以避免 IndexOutOfBoundsException

    java - 从数据库到应用范围

    hadoop - hadoop节点上的数据如何复制

    c++ - 为什么 STL 算法 find() 在 map 上不起作用?

    flutter - 如何将带有数据的数组转换为小部件

    flutter - Dart、Flutter Redux Thunk 单元测试