如何用python將列表中的字串元素按數字大小排序?
阿新 • • 發佈:2021-02-06
class SortNum(object):
def __init__(self, lst):
self.lst = lst
@staticmethod
def convert2int(s):
try:
return int(s)
except ValueError:
return s
def str2int(self, v_str):
return [self.convert2int(sub_str) for sub_str in re.split('([0-9]+)', v_str)]
def sort_num(self):
return sorted(self.lst, key=self.str2int)
def main():
test = ['0', '12', '2']
print(sorted(test)) # ['0', '12', '2']
print(SortNum(test).sort_num()) # ['0', '2', '12']