python - Dart 相当于 Python zip 和列表理解,用于从两个列表生成小部件列表

标签 python list dart list-comprehension

我想创建一个小部件列表 MyWidget(categoryName, color)从以下两个列表中。

  static const _categoryNames = <String>[
    'Length',
    'Area',
    'Volume',
  ];

  static const _baseColors = <Color>[
    Colors.teal,
    Colors.orange,
    Colors.pinkAccent,
  ];

在 Python 中,我会使用带有 zip 的列表理解来获得结果。

my_widget_list = [MyWidget(categoryName, baseColor) for categoryName, baseColor in zip(_categoryNames, _baseColors)]

谷歌搜索 Dart 的类似方法没有提供任何令人满意的解决方案。

最佳答案

如果您的目标是创建一个小部件列表(假设您的两个列表将具有相同数量的元素)。你可以试试

List<Widget> getWidgets() {

  List<Widget> my_widget_list = [];
  const _categoryNames = <String>[
    'Length',
    'Area',
    'Volume',
  ];

 const _baseColors = <Color>[
    Colors.teal,
    Colors.orange,
    Colors.pinkAccent,
  ];

  for (int i = 0; i <= _categoryNames.length -1 ; i++){
    my_widget_list.add(MyWidget(_categoryNames[i],_baseColors[i]));
  }

  return my_widget_list;
  }

Widget MyWidget(String categoryName, Color baseColor){
  return Container(
    color: baseColor,
    child: Text(categoryName,));
}

关于python - Dart 相当于 Python zip 和列表理解,用于从两个列表生成小部件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62234207/

相关文章:

android-studio - 添加尾随逗号的键盘快捷键? ( flutter 和 Android Studio)

java - Java 的侵入式列表实现?

class - "unresolved implicit call to super constructor"在 Dart 语言中是什么意思?

dart - 从什么时候角度转换器需要在 pubspec.yaml 中指定 dartSdk 路径?

python - BaseHttpServer 类中的全局变量

c# - 列表到datagridView数据源

python - 遍历列表并检查我是否在列表末尾

python:如何对从sql查询返回的列表进行排序?

python - python中的 pretty-print json(pythonic方式)

python - 复制部分列表