Переберите все подпапки и изображения OCR в Python

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

Я закончил расширять jquery, и мое решение использует jQuery , но может быть легко изменено, чтобы использовать прямой javascript.

Я получаю доступ только к каждому элементу дважды и выполняю одно линейное вычисление , поэтому это должно, я думаю, работать намного быстрее на больших наборах данных, хотя я свободно признаюсь, что могу ошибаться там:

sortList: function() {
   if (!this.is("ul") || !this.length)
      return
   else {
      var getData = function(ul) {
         var lis     = ul.find('li'),
             liData  = {
               liTexts : []
            }; 

         for(var i = 0; i<lis.length; i++){
             var key              = $(lis[i]).text().trim().toLowerCase().replace(/\s/g, ""),
             attrs                = lis[i].attributes;
             liData[key]          = {},
             liData[key]['attrs'] = {},
             liData[key]['html']  = $(lis[i]).html();

             liData.liTexts.push(key);

             for (var j = 0; j < attrs.length; j++) {
                liData[key]['attrs'][attrs[j].nodeName] = attrs[j].nodeValue;
             }
          }

          return liData;
       },

       processData = function (obj){
          var sortedTexts = obj.liTexts.sort(),
              htmlStr     = '';

          for(var i = 0; i < sortedTexts.length; i++){
             var attrsStr   = '',
                 attributes = obj[sortedTexts[i]].attrs;

             for(attr in attributes){
                var str = attr + "=\'" + attributes[attr] + "\' ";
                attrsStr += str;
             }

             htmlStr += "<li "+ attrsStr + ">" + obj[sortedTexts[i]].html+"</li>";
          }

          return htmlStr;

       };

       this.html(processData(getData(this)));
    }
}
0
задан ahbon 18 January 2019 в 13:17
поделиться