Как набрать динамический список c в многомерный типизированный список в дротике? - PullRequest
0 голосов
/ 18 апреля 2020

Если у меня есть List<dynamic> dynamicList, что на самом деле List<List<double>>, но если я пытаюсь разыграть его, используя,

dynamicList.cast<List<List<double>>>();

Это дает "не ошибка подтипа",

Поэтому, чтобы преобразовать это в List<List<double>> Мне нужно,

  List<List<double>> converted = [];
  for(int i = 0; i < dynamicList.shape[0]; i++){
    List<double> subList = [];
    for(int j = 0; j < dynamicList.shape[1]; j++){
      if(dynamicList[i][j] is double){
        subList.add((dynamicList[i][j] as double));
      }
    }
    converted.add(subList);
  }

extension Util on List{
List<int> get shape {
    if (isEmpty) {
      return [];
    }
    var list = this as dynamic;
    var shape = <int>[];
    while (list is List) {
      shape.add((list as List).length);
      list = list.elementAt(0);
    }
    return shape;
  }
}

Что может быть лучшим и более обобщенным способом сделать это?

1 Ответ

0 голосов
/ 18 апреля 2020

Как создать Список внутри Списка, который является динамическим c списком

List<List<String>> typedList;
typedList = dynamicList.map((value)=>List.cast(value));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...