【问题标题】:Split a list into multiple ones将列表拆分为多个
【发布时间】:2021-01-10 15:58:46
【问题描述】:

我正在尝试将列表拆分为多个列表。原始列表 lst 应该在第二个列表 split_on 中存在的每个元素上拆分。

例子:

lst = [1, 2, 3, 4, 5, 6, 7, 8]
split_on = [3, 4, 7]

应该让步:

[[1,2,3],[3,4],[4,5,6,7],[7,8]]

请注意,lstsplit_on 都不包含重复的元素,split_on 的任何项目也是 lst 的项目。最后split_on的元素顺序可以是随机的。

【问题讨论】:

    标签: python list split


    【解决方案1】:

    以下内容如何:

    a = [1,2,3,4,5,6,7,8]
    b = [4,3,7]
    
    res = [[]]
    for i in a:
        res[-1].append(i)
        if i in b:
            res.append([i])
    
    print(res)  # [[1, 2, 3], [3, 4], [4, 5, 6, 7], [7, 8]]
    

    请注意,由于 b 仅用于成员资格测试并且顺序无关紧要,您可以考虑将其转换为 set 以便该方法更好地扩展。

    【讨论】:

    • 非常感谢,太好了!
    猜你喜欢
    • 2018-11-25
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2022-12-22
    • 2017-08-02
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多