基于lis的字符串加空格

2024-06-16 14:42:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串s和一个字符串列表arrs的长度等于arr中字符串的总长度。 我需要将s拆分为一个列表,这样列表中的每个元素的长度都与arr中的相应元素的长度相同。在

例如:

s = 'Pythonisanprogramminglanguage'

arr = ['lkjhgf', 'zx', 'qw', 'ertyuiopakk', 'foacdhlc']
^{pr2}$

Tags: 字符串元素列表arrzxpr2总长度qw
3条回答

iternext一起使用会更干净:

s = 'Pythonisanprogramminglanguage'
arr = ['lkjhgf', 'zx', 'qw', 'ertyuiopakk', 'foacdhlc']
new_s = iter(s)
result = [''.join(next(new_s) for _ in i) for i in arr]

输出:

^{pr2}$

使用一个简单的for循环,可以执行以下操作:

s = 'Pythonisanprogramminglanguage'

arr = ['lkjhgf', 'zx', 'qw', 'ertyuiopakk', 'foacdhlc']

start_index = 0
expected = list()
for a in arr:
    expected.append(s[start_index:start_index+len(a)])
    start_index += len(a)

print(expected)

一种方法是:

s = 'Pythonisanprogramminglanguage'

arr = ['lkjhgf', 'zx', 'qw', 'ertyuiopakk', 'foacdhlc']

expected = []
i = 0
for word in arr:
    expected.append(s[i:i+len(word)])
    i+= len(word)

print(expected)

相关问题 更多 >