nlpertools 1.0.5__py3-none-any.whl → 1.0.6.dev0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. nlpertools/__init__.py +24 -20
  2. nlpertools/algo/ac.py +18 -0
  3. nlpertools/algo/bit_ops.py +28 -0
  4. nlpertools/algo/kmp.py +94 -55
  5. nlpertools/algo/num_ops.py +12 -0
  6. nlpertools/algo/template.py +116 -0
  7. nlpertools/algo/union.py +13 -0
  8. nlpertools/data_client.py +387 -257
  9. nlpertools/data_structure/base_structure.py +109 -13
  10. nlpertools/dataprocess.py +611 -3
  11. nlpertools/default_db_config.yml +41 -0
  12. nlpertools/io/__init__.py +3 -3
  13. nlpertools/io/dir.py +54 -36
  14. nlpertools/io/file.py +277 -222
  15. nlpertools/ml.py +483 -460
  16. nlpertools/monitor/__init__.py +0 -0
  17. nlpertools/monitor/gpu.py +18 -0
  18. nlpertools/monitor/memory.py +24 -0
  19. nlpertools/movie.py +36 -0
  20. nlpertools/nlpertools_config.yml +1 -0
  21. nlpertools/{openApi.py → open_api.py} +65 -65
  22. nlpertools/other.py +364 -249
  23. nlpertools/pic.py +288 -0
  24. nlpertools/plugin.py +43 -43
  25. nlpertools/reminder.py +98 -87
  26. nlpertools/utils/__init__.py +3 -3
  27. nlpertools/utils/lazy.py +727 -0
  28. nlpertools/utils/log_util.py +20 -0
  29. nlpertools/utils/package.py +89 -76
  30. nlpertools/utils/package_v1.py +94 -0
  31. nlpertools/utils/package_v2.py +117 -0
  32. nlpertools/utils_for_nlpertools.py +93 -93
  33. nlpertools/vector_index_demo.py +108 -0
  34. nlpertools/wrapper.py +161 -96
  35. {nlpertools-1.0.5.dist-info → nlpertools-1.0.6.dev0.dist-info}/LICENSE +200 -200
  36. nlpertools-1.0.6.dev0.dist-info/METADATA +111 -0
  37. nlpertools-1.0.6.dev0.dist-info/RECORD +43 -0
  38. {nlpertools-1.0.5.dist-info → nlpertools-1.0.6.dev0.dist-info}/WHEEL +1 -1
  39. nlpertools-1.0.6.dev0.dist-info/top_level.txt +2 -0
  40. nlpertools_helper/__init__.py +10 -0
  41. nlpertools-1.0.5.dist-info/METADATA +0 -85
  42. nlpertools-1.0.5.dist-info/RECORD +0 -25
  43. nlpertools-1.0.5.dist-info/top_level.txt +0 -1
@@ -1,13 +1,109 @@
1
- #!/usr/bin/python3.8
2
- # -*- coding: utf-8 -*-
3
- # @Author : youshu.Ji
4
- class ListNode:
5
- def __init__(self, x):
6
- self.val = x
7
- self.next = None
8
-
9
- class TreeNode:
10
- def __init__(self, val=0, left=None, right=None):
11
- self.val = val
12
- self.left = left
13
- self.right = right
1
+ #!/usr/bin/python3.8
2
+ # -*- coding: utf-8 -*-
3
+ # @Author : youshu.Ji
4
+
5
+
6
+ class ListNode:
7
+ def __init__(self, x):
8
+ self.length = 1
9
+ if type(x) is int:
10
+ self.val = x
11
+ self.next = None
12
+ else:
13
+ # 初始化list,感觉用递归会比较好
14
+ pre = ListNode(x.pop(0))
15
+ head = pre
16
+ while x:
17
+ self.length += 1
18
+ pre.next = ListNode(x.pop(0))
19
+ pre = pre.next
20
+ self.val = head.val
21
+ self.next = head.next
22
+
23
+ def add(self):
24
+ pass
25
+
26
+ def __str__(self):
27
+ # TODO 循环链表标记出来
28
+ print_string = [self.val]
29
+ tmp = self.next
30
+ # 防止循环链表
31
+ recurrent_num = 0
32
+ while tmp and recurrent_num <= self.length + 10:
33
+ recurrent_num += 1
34
+ print_string.append(tmp.val)
35
+ tmp = tmp.next
36
+ return str(print_string)
37
+
38
+
39
+ class TreeNode:
40
+ def __init__(self, val=0, left=None, right=None):
41
+ if type(val) is list:
42
+ pass
43
+ else:
44
+ self.val = val
45
+ self.left = left
46
+ self.right = right
47
+
48
+ def build_from_list(self):
49
+ pass
50
+
51
+ def __str__(self):
52
+ pass
53
+
54
+ @staticmethod
55
+ def pre_order(node):
56
+ stack = []
57
+ res = []
58
+ while stack or node:
59
+ while node:
60
+ res.append(node)
61
+ stack.append(node)
62
+ node = node.left
63
+ node = stack.pop(-1)
64
+ node = node.right
65
+ return res
66
+
67
+ def level_order(self, node):
68
+ # 层序遍历
69
+ # 直观觉得递归不行,采用迭代
70
+ # deque表示正在遍历的层
71
+ deque = [node]
72
+ nxt_deque = []
73
+ res = []
74
+ while deque:
75
+ while deque:
76
+ node = deque.pop(0)
77
+ res.append(node.val)
78
+ if node.left:
79
+ nxt_deque.append(node.left)
80
+ if node.right:
81
+ nxt_deque.append(node.right)
82
+ deque, nxt_deque = nxt_deque, []
83
+ return res
84
+
85
+ pass
86
+
87
+ def bfs(self):
88
+ # 具体怎么用迭代写BFS,是根据需求来的。
89
+ # dp 里面放这个吧(node, depth)
90
+ pass
91
+
92
+ def mid_order(self, node):
93
+ if node.left:
94
+ self.mid_order(node.left)
95
+ print(node.val)
96
+ if node.right:
97
+ self.mid_order(node.right)
98
+
99
+ def post_order(self, node=None):
100
+ pass
101
+
102
+ def in_order(self, node):
103
+ # bts的读法
104
+ pass
105
+
106
+
107
+ if __name__ == '__main__':
108
+ a = ListNode([1, 2, 3, 4])
109
+ print(a)