Python中将字符串按指定长度拆分生成列表及子列表的方法
Python 按指定规则拆分字符串为嵌套子列表的实现
直接上可运行的代码,默认适配你给出的示例(字符转大写、自动过滤空格):
raw_str = "Welcome to Baramati" # 预处理为单字符大写列表,过滤空格 char_list = [c.upper() for c in raw_str if c != ' '] # 按需求定义各子列表长度,顺序对应第1到第N个子列表 split_sizes = [3,4,5,1,1,6] res = [] pos = 0 for size in split_sizes: res.append(char_list[pos:pos+size]) pos += size print(res)
运行输出:
[['W', 'E', 'L'], ['C', 'O', 'M', 'E'], ['T', 'O', 'B', 'A', 'R'], ['A'], ['M'], ['A', 'T', 'I']]
自定义调整说明
- 不需要过滤空格或转大写:将预处理行替换为
char_list = list(raw_str)即可 - 拆分长度自由调整:直接修改
split_sizes列表的元素,按顺序填入每个子列表需要的长度即可 - 子列表长度不足时补占位符:如果要求每个子列表必须严格等于指定长度,长度不够时补空格/空字符,可以修改切片逻辑:
sub = char_list[pos:pos+size] # 长度不足补空字符串 sub += [''] * (size - len(sub)) res.append(sub)
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

