Операции над списком - > Как разделить список на равные части ?

kosmix

Client
Регистрация
01.10.2015
Сообщения
109
Благодарностей
6
Баллы
18
Подскажите, как можно разделить список на равные части ?
по сути есть список на n сторок
нужно его содержимое разбить на равные части и записать в файлы
как подобное можно реализовать

для примера, есть список с 100 строками
надо разбить его на равные части 10 раз, то есть получить 10 списков по 10 строк
далее записать в 10 файлов
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 252
Благодарностей
5 849
Баллы
113
  • Спасибо
Реакции: kosmix

kosmix

Client
Регистрация
01.10.2015
Сообщения
109
Благодарностей
6
Баллы
18
Получить кол-во строк, а дальше математика и работа с диапазонами - http://zennolab.com/wiki/ru:ranges
с помощью деапазонов разбить на 10 подсписков а потом сохранить в 10 файлов - я верно все понял
деапазон выходит такой: random{-Variable.ten10-}(1-end)

{-Variable.ten10-} = все линки основного списка поделить на 10 (кол-во всех линков всегда делиться на 10)
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 252
Благодарностей
5 849
Баллы
113
с помощью деапазонов разбить на 10 подсписков а потом сохранить в 10 файлов - я верно все понял
деапазон выходит такой: random{-Variable.ten10-}(1-end)
{-Variable.ten10-} = все линки основного списка поделить на 10 (кол-во всех линков всегда делиться на 10)
Да, примерно так и надо.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
var path = "C:\\Test\\Список.txt"; // список со строками

var list = File.ReadLines(path).ToList();
int index = list.Count / 10;

for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < index; j++)
    {
        FileSystem.FileAppendString("C:\\Test\\Список" + i + ".txt", list[0], true);
        list.RemoveAt(0);
    }
}
 

kosmix

Client
Регистрация
01.10.2015
Сообщения
109
Благодарностей
6
Баллы
18
спасибо, все вышло
по сути надо было разобраться с деапазонами и все вышло

получился вот такой проэктик:
 
  • Спасибо
Реакции: VladZen

doc

Client
Регистрация
30.03.2012
Сообщения
8 609
Благодарностей
4 601
Баллы
113

kosmix

Client
Регистрация
01.10.2015
Сообщения
109
Благодарностей
6
Баллы
18
upd: в js надо было на всякий добавить округление до целого числа, а то по ходу работы оказалось что порой кол-во линков что надо записать в файл может быть не целым и зенка подвисает на глухо:
Код:
Math.round({-Variable.count_of_links-}/10)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)