Advertisement
neongm

Untitled

Nov 9th, 2020
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. def text_preprocessing(text, capital=None, chars_to_remove=None):
  2. if capital!=None:
  3. if capital: text = text.upper()
  4. else: text = text.lower()
  5. if chars_to_remove:
  6. for i in chars_to_remove:
  7. text = text.replace(i,'')
  8. return text
  9.  
  10. # поиск наименьшего значения в списке справа и возврат его индекса
  11. def rfind_min(arr, start=None):
  12. if not start:
  13. start=len(arr)
  14. min = arr[0]
  15. temp_index = int()
  16. for i in range(start-1,-1,-1):
  17. if arr[i]<min:
  18. min=arr[i]
  19. temp_index = i
  20. return temp_index
  21. # проверка индекса на минимум
  22. def is_min(arr, index):
  23. for i in arr:
  24. if i<arr[index]: return False
  25. return True
  26.  
  27. # инкремент
  28. def inc(n, increment=1): return n+increment
  29.  
  30. #cортировка по N-ному элементу вложенных массивов
  31. def sort_inside(arr, index=0, reverse=False):
  32. return sorted(arr, key=lambda x: x[index], reverse=reverse)
  33.  
  34. #проверка индекса на максимум
  35. def is_max(arr, index):
  36. for i in arr:
  37. if i>arr[index]: return False
  38. return True
  39.  
  40. # проверка вхождения в начало строки
  41. def lfind(string, any):
  42. if any in string[:len(any):]: return True
  43. return False
  44.  
  45. # поиск внутри вложенных списков
  46. def find_double(arr, object, index=1):
  47. for i in range(len(arr)):
  48. if arr[i][index]==object: return i
  49.  
  50. # просто выводит список с вложенными списками, почему нет
  51. # меньше лишнего кода в основном файле - лучше
  52. # target_length - целевая ширина столбца, round_numbers - число знаков после запятой у float при выводе
  53. # horizontal_char - символ, вставляющийся в пустые места ячейки, vertical_char - в конец ячейки
  54. def print_double_array(arr, target_length=10, round_numbers=False, horizontal_char=' ', vertical_char=''):
  55. for i in arr:
  56. for part in i:
  57. if isinstance(part, float) and round_numbers: part = round(part, round_numbers)
  58. part = str(part)
  59. if len(part)<target_length: part+=horizontal_char*(target_length-len(part))
  60. print(part, end=vertical_char)
  61. print()
  62.  
  63.  
  64. def makeMeAStringSuka(arr, target_length=5, round_numbers=2, horizontal_char=' ', vertical_char=''):
  65. string = "'''"
  66. for i in arr:
  67. for part in i:
  68. if isinstance(part, float) and round_numbers: part = round(part, round_numbers)
  69. part = str(part)
  70. if len(part)<target_length: part+=horizontal_char*(target_length-len(part))
  71. string+=part+vertical_char
  72. string+='\n'
  73. string+="'''"
  74. return string
  75. # получение алфавита и шансов для него
  76. def get_chances_count(text, alphabet):
  77. return [[text.count(alphabet[i])/len(text), alphabet[i]] for i in range(len(alphabet))]
  78.  
  79. # получение алфавита
  80. def get_alphabet(text):
  81. return list(set(text))
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement