python必背100源代码-有没有100行代码左右的Python项目可以推荐的?

def mysort(arr:list):

for i in range(len(arr)):

for j in range(len(arr)):

if arr[i]<=arr[j]:

arr[i],arr[j] = arr[j],arr[i]

class HuffmanTreeNode:

def __init__ ( self, value_weight: tuple ) -> None:

self.value_weight = value_weight

self.parent: HuffmanTreeNode = None

self.leftChild: HuffmanTreeNode = None

self.rightChild: HuffmanTreeNode = None

def __eq__ ( self, other ) -> bool:

return self.value_weight[1] == other.value_weight[1]

def __ne__ ( self, other ) -> bool:

return self.value_weight[1] != other.value_weight[1]

def __ge__ ( self, other ):

return self.value_weight[1] >= other.value_weight[1]

def __le__ ( self, other ):

return self.value_weight[1] <= other.value_weight[1]

def __getitem__ ( self, item ):

return self.value_weight[item]

def __str__ ( self ) -> str:

return str(self.value_weight)

class HuffmanTree:

def __init__ ( self, seq=None,value_weight:list=None) -> None:

self.root: HuffmanTreeNode = HuffmanTreeNode(('NaN',0))

if value_weight is None:

self.value_weight = []

else:

self.value_weight = [HuffmanTreeNode(i) for i in value_weight]

self.seq = seq

if self.seq is not None:

self._value_weightList()

self._buildHuffmanTree()

self.coding={}

self._tree_to_dict(self.root,"")

def _value_weightList ( self ):

seqlist = list(self.seq)

seq_set = set(seqlist)

for i in seq_set:

self.value_weight.append(HuffmanTreeNode((i, seqlist.count(i))))

def _merge ( self, hto, htt, ht: HuffmanTreeNode ):

hto.parent = ht

htt.parent = ht

ht.leftChild = hto

ht.rightChild = htt

ht.value_weight = ('NaN', hto.value_weight[1] + htt.value_weight[1])

def

你可能感兴趣的:(python必背100源代码-有没有100行代码左右的Python项目可以推荐的?)