Неправильная сортировка цифр в списке

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
Форумчане подскажите почему зенка неправильно сортирует файлы, т.е. порядок цифр идет не 1,2,3... а как на скрине 1,10,100,101...



 

nole

Client
Регистрация
19.11.2010
Сообщения
368
Благодарностей
217
Баллы
43
Для текста это правильная сортировка
добавь нули, чтобы сортировало так как нужно тебе, типа 001.jpg 002.jpg
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 457
Благодарностей
5 913
Баллы
113
Все правильно, сначала по первому разряду, потом по второму и т.п. Винда так же сортирует.
 

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
Все правильно, сначала по первому разряду, потом по второму и т.п. Винда так же сортирует.
Ок, а как сделать чтобы сортировались по возрастанию 1,2,3....
Нули добавлял не помогает:(
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 457
Благодарностей
5 913
Баллы
113

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 457
Благодарностей
5 913
Баллы
113

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 457
Благодарностей
5 913
Баллы
113

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
Попробуйте Операции со списком>Сортировать - сортировать как числа, если возможно. И нули сначала добавить
пробовал еще вчера, тоже не получается, результат остается прежний(
 

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 040
Баллы
113
В списке лежат строки
2016-04-22_215551.png

используем этот код в C# кубике

C#:
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
на выходе имеем правильную сортировку
2016-04-22_215611.png
 

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
 
  • Спасибо
Реакции: VladZen

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 040
Баллы
113
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
Зачем такой огород если я дал рабочий код, это что мне ещё командор специально загружать ???
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 135
Баллы
113
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
тут будет работать строковая сортировка, с дополнительными телодвижениями в ТС, а выше предложен был C#-снипет, для сортировки именно по числам..
не подходит?
 
  • Спасибо
Реакции: Redsmokky

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
Зачем такой огород если я дал рабочий код, это что мне ещё командор специально загружать ???
Я потом увидел сообщение, после того как отправил вариант с тотальником, спасибо за код буду использовать :ay:
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 040
Баллы
113
По убыванию

C#:
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderByDescending(s=>s.Length).ThenByDescending(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
 
  • Спасибо
Реакции: gvova, sentinel и Ribas

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
не могли бы вы подсказать решение на c#, если нужно просто инвертировать порядок строк (от последней к первой). Сейчас список выглядит так:
строка1
строка2
строка3
...
строкаX

а нужно:
строкаX
.....
строка3
строка2
строка1

При этом содержание у каждой строки разное и стандартная сортировка постера "по убыванию" или "по возрастанию" не подходит.
 

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
313
Благодарностей
195
Баллы
43
не могли бы вы подсказать решение на c#, если нужно просто инвертировать порядок строк (от последней к первой). Сейчас список выглядит так:
строка1
строка2
строка3
...
строкаX

а нужно:
строкаX
.....
строка3
строка2
строка1

При этом содержание у каждой строки разное и стандартная сортировка постера "по убыванию" или "по возрастанию" не подходит.
было бы нагляднее если бы ты приложил проект, хотя бы тестовый
 

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
было бы нагляднее если бы ты приложил проект, хотя бы тестовый
приложил пример.
В проекте список выглядит так:
Код:
проспект
3
117
1
самолёт
привет, мой дорогой друг!
2
78127
аварц
нужно инвертировать (отзеркалить строки), чтобы выглядел так:
Код:
аварц
78127
2
привет, мой дорогой друг!
самолёт
1
117
3
проспект
 

Вложения

  • 10,4 КБ Просмотры: 203

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
C#:
var lst = project.Lists["Список"];
var rez = lst.Reverse().ToList();
lst.Clear();
project.Lists["Список"].AddRange(rez);
 
  • Спасибо
Реакции: paydot, sentinel и Marcelo

javara777

Client
Регистрация
12.08.2014
Сообщения
62
Благодарностей
2
Баллы
8
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
на выходе имеем правильную сортировку
Посмотреть вложение 12870
Код не работает. Что делаю не правильно. list2 - это какой параметр ?
 

javara777

Client
Регистрация
12.08.2014
Сообщения
62
Благодарностей
2
Баллы
8
помогите
 

Вложения

  • 11,5 КБ Просмотры: 222

javara777

Client
Регистрация
12.08.2014
Сообщения
62
Благодарностей
2
Баллы
8
точнее в архиве
 

Вложения

  • 10,7 КБ Просмотры: 212

javara777

Client
Регистрация
12.08.2014
Сообщения
62
Благодарностей
2
Баллы
8
Подскажите если кто знает. И зачем не рабочие экшены нужны типа операция со списком - сортировка.
 

doc

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

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 040
Баллы
113
затем, что они рабочие
не соглашусь, они имено не правильно отсортируют так же как экшен с директорией не запишит ничего если попадёт на закрытую папку, он рекурсивно не настроен например и получается в обоих случая они бесполезны для меня и надо писать код
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
на выходе имеем правильную сортировку
Посмотреть вложение 12870
C#:
{"title":"20 серия","file":"https://www.ntv.ru/video/embed/1964544/?og","descr":" «20 серия»  смотреть онлайн бесплатно","datetime":"2020-11-13","announce":"no","ostring":""},
{"title":"19 серия","file":"https://www.ntv.ru/video/embed/1964545/?og","descr":" «19 серия»  смотреть онлайн бесплатно","datetime":"2020-11-13","announce":"no","ostring":""},
{"title":"18 серия","file":"https://www.ntv.ru/video/embed/1963849/?og","descr":" «18 серия»  смотреть онлайн бесплатно","datetime":"2020-11-12","announce":"no","ostring":""},
{"title":"17 серия","file":"https://www.ntv.ru/video/embed/1963850/?og","descr":" «17 серия»  смотреть онлайн бесплатно","datetime":"2020-11-12","announce":"no","ostring":""},
{"title":"16 серия","file":"https://www.ntv.ru/video/embed/1963343/?og","descr":" «16 серия»  смотреть онлайн бесплатно","datetime":"2020-11-11","announce":"no","ostring":""},
{"title":"15 серия","file":"https://www.ntv.ru/video/embed/1963361/?og","descr":" «15 серия»  смотреть онлайн бесплатно","datetime":"2020-11-11","announce":"no","ostring":""},
{"title":"14 серия","file":"https://www.ntv.ru/video/embed/1962704/?og","descr":" «14 серия»  смотреть онлайн бесплатно","datetime":"2020-11-10","announce":"no","ostring":""},
{"title":"13 серия","file":"https://www.ntv.ru/video/embed/1962640/?og","descr":" «13 серия»  смотреть онлайн бесплатно","datetime":"2020-11-10","announce":"no","ostring":""},
{"title":"12 серия","file":"https://www.ntv.ru/video/embed/1962641/?og","descr":" «12 серия»  смотреть онлайн бесплатно","datetime":"2020-11-09","announce":"no","ostring":""},
{"title":"11 серия","file":"https://www.ntv.ru/video/embed/1962561/?og","descr":" «11 серия»  смотреть онлайн бесплатно","datetime":"2020-11-09","announce":"no","ostring":""},
{"title":"10 серия","file":"https://www.ntv.ru/video/embed/1960161/?og","descr":" «10 серия»  смотреть онлайн бесплатно","datetime":"2020-11-06","announce":"no","ostring":""},
{"title":"9 серия","file":"https://www.ntv.ru/video/embed/1960181/?og","descr":" «9 серия»  смотреть онлайн бесплатно","datetime":"2020-11-06","announce":"no","ostring":""},
{"title":"8 серия","file":"https://www.ntv.ru/video/embed/1959681/?og","descr":" «8 серия»  смотреть онлайн бесплатно","datetime":"2020-11-05","announce":"no","ostring":""},
{"title":"7 серия","file":"https://www.ntv.ru/video/embed/1959682/?og","descr":" «7 серия»  смотреть онлайн бесплатно","datetime":"2020-11-05","announce":"no","ostring":""},
{"title":"6 серия","file":"https://www.ntv.ru/video/embed/1959201/?og","descr":" «6 серия»  смотреть онлайн бесплатно","datetime":"2020-11-04","announce":"no","ostring":""},
{"title":"5 серия","file":"https://www.ntv.ru/video/embed/1959202/?og","descr":" «5 серия»  смотреть онлайн бесплатно","datetime":"2020-11-04","announce":"no","ostring":""},
{"title":"4 серия","file":"https://www.ntv.ru/video/embed/1958721/?og","descr":" «4 серия»  смотреть онлайн бесплатно","datetime":"2020-11-03","announce":"no","ostring":""},
{"title":"3 серия","file":"https://www.ntv.ru/video/embed/1958720/?og","descr":" «3 серия»  смотреть онлайн бесплатно","datetime":"2020-11-03","announce":"no","ostring":""},
{"title":"2 серия","file":"https://www.ntv.ru/video/embed/1958004/?og","descr":" «2 серия»  смотреть онлайн бесплатно","datetime":"2020-11-02","announce":"no","ostring":""},
{"title":"1 серия","file":"https://www.ntv.ru/video/embed/1958044/?og","descr":" «1 серия»  смотреть онлайн бесплатно","datetime":"2020-11-02","announce":"no","ostring":""},
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

kolina

Client
Регистрация
05.10.2019
Сообщения
165
Благодарностей
47
Баллы
28
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
на выходе имеем правильную сортировку
Посмотреть вложение 12870
В моём случае не работает. По данному методу отсортировалось так:

Цена: 9.03(-2,9) udtek.by
Цена: 9.8(-2,13) myt.by
Цена: 10(-1,93) austore.by
Цена: 8.9(-3,03) abstroy.by
Цена: 9.9(-2,03) stroy.by
Цена: 11.82(-0,11) oybaza.by
Цена: 8.82(-3,11) mhatu.by
Цена: 11.35(-0,58-) umdecor.by

Как можно отсортировать по возрастанию, по цифрам которые находятся между: словом "Цена:" и открывающейся скобкой "("


ещё и 8-) влез. Вместо него 8 и )

Неужели всю эту фигню придётся раскладывать в Таблицу по ячейкам, и сортировать по нужному столбцу:
Из переменной в список - из списка в таблицу - сортировка по нужному столбцу - опять в переменную.
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 135
Баллы
113
В моём случае не работает. По данному методу отсортировалось так:

Цена: 9.03(-2,9) udtek.by
Цена: 9.8(-2,13) myt.by
Цена: 10(-1,93) austore.by
Цена: 8.9(-3,03) abstroy.by
Цена: 9.9(-2,03) stroy.by
Цена: 11.82(-0,11) oybaza.by
Цена: 8.82(-3,11) mhatu.by
Цена: 11.35(-0,58-) umdecor.by

Как можно отсортировать по возрастанию, по цифрам которые находятся между: словом "Цена:" и открывающейся скобкой "("
Простым стандартным методом, к сожалению, отсортировать нельзя, так как это строки, а не числа в чистом виде.
 
  • Спасибо
Реакции: kolina

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