Skip to main content
 首页 » 编程设计

python之将字符串拆分为包含许多 char pro 项目的数组

2025年05月04日20zhwl

我有一个字符串,我想要一个 str 数组,例如:

"hello world" 
["hel", "lo ", "wor", "ld"] 

或

["hell", "o wo", "rld"] 

我看到 list(message) 可以,但只是为了

["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", ] 

有什么想法吗?

请您参考如下方法:

>>> s = 'hello world' 
>>> [s[i:i+3] for i in range(len(s)) if not i % 3] 
['hel', 'lo ', 'wor', 'ld'] 

对于更通用的解决方案(即自定义拆分),请尝试此功能:

def split_on_parts(s, *parts): 
    total = 0 
    buildstr = [] 
    for p in parts: 
        buildstr.append(s[total:total+p]) 
        total += p 
    return buildstr 
 
s = 'hello world' 
print split_on_parts(s, 3, 3, 3, 3) 
print split_on_parts(s, 4, 3, 4) 

产生输出:

['hel', 'lo ', 'wor', 'ld'] 
['hell', 'o w', 'orld'] 

或者如果您真的想要单线:

def split_on_parts(s, *parts): 
    return [s[sum(parts[:p]):sum(parts[:p+1])] for p in range(len(parts))]