def split_char(str):
english = 'abcdefghijklmnopqrstuvwxyz0123456789'
output = []
buffer = ''
for s in str:
if s in english or s in english.upper(): #英文或数字
buffer += s
else: #中文
if buffer:
output.append(buffer)
buffer = ''
output.append(s)
if buffer:
output.append(buffer)
return output
str = '今天是我喜欢Python的第123天'
print(split_char(str))
['今','天','是','我','喜','欢','Python','的','第','123','天']