Python:我有一个字符串和一个长度不一的列表列表,我想按组返回与列表相对应的字母

标签 python string list

假设我有一个长度为 5 个字母的字符串,比如“ABCDE”。我还有一个列表列表,列表的列表以不同的方式拆分列表,即 [[5]、[4、1]、[3、2]、... [1、1、1、1、1]]。如何返回拆分列表的所有不同方式,如下所示。我遇到的问题是设置索引数量不均匀的循环。

INPUT
'ABCDE', list_of_configurations

OUTPUT
['ABCDE']
['A', 'BCDE']
['AB', 'CDE']
...
...
['A', 'B', 'C', 'D', 'E']

最后一点,我希望它是动态的,因为它可以应用于 5 个字符的字符串或 9 个字符的字符串。我试图解决这个问题,但我认为这超出了我目前的技能水平。

最佳答案

如果你想应用包含字符串可能“切片”的列表的配置列表,这里有一种方法 - 基本上,我们获取一个切片并将字符串的其余部分传递到下一步:

s = 'ABCDE'
c = [[5], [4, 1], [3, 2], [1, 1, 1, 1, 1]]

for item in c:
    result = []
    s_copy = s
    for index in item:
        result.append(s_copy[:index])
        s_copy = s_copy[index:]
    print(result)

打印:

['ABCDE']
['ABCD', 'E']
['ABC', 'DE']
['A', 'B', 'C', 'D', 'E']

关于Python:我有一个字符串和一个长度不一的列表列表,我想按组返回与列表相对应的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39231826/

相关文章:

python - Django - 从每个组的最新日期检索对象 - PersonPhoto

python - PIP 10.0.1 - 警告 "Consider adding this directory to PATH or..."

c - 麻烦在c中声明一个全局字符串数组

algorithm - 使用 seq 在 f# 中连分数

python - Pandas :如果列 'E' 的值为 'C',则更新列 'x' 的值

c++ - 具有特殊字符的数字的正则表达式**仅**

java - Case 语句代码不显示在屏幕上,但符合且没有错误

python - 如何创建空列表列表

algorithm - 列表值缩减算法

python - 如何从 pandas 列中提取子字符串?