1. 使用内置函数 `isdigit()` 和 `isalpha()`:
s = "a1b2c3"digits = [char for char in s if char.isdigit()]letters = [char for char in s if char.isalpha()]print("Digits:", digits)print("Letters:", letters)
2. 使用正则表达式:
import res = "a1b2c3"numbers = re.findall(r'\d+', s)letters = re.findall(r'[a-zA-Z]', s)print("Numbers:", numbers)print("Letters:", letters)
3. 使用 `re.split()` 函数:

import res = "a1b2c3"split_string = re.split(r'(\d+)', s)numbers = [int(num) for num in split_string[::2]]letters = [num for num in split_string[1::2] if num]print("Numbers:", numbers)print("Letters:", letters)
4. 使用 `itertools.groupby()` 函数:
import itertoolss = "a1b2c3"numbers = [''.join(group) for key, group in itertools.groupby(s, key=str.isdigit)]letters = [''.join(group) for key, group in itertools.groupby(s, key=str.isalpha)]print("Numbers:", numbers)print("Letters:", letters)
