【问题标题】:Python: How do I slice a list based on variable typePython:如何根据变量类型对列表进行切片
【发布时间】:2020-09-14 08:42:32
【问题描述】:

我正在尝试将列表切片为列表列表,其中原始列表在检测到字符串类型对象的位置被切片,例如

array = ['Hello',1,2,3,'Goodbye',4,6,'Bye',7,8,9,5]

new_array = [['Hello',1,2,3],['Goodbye',4,6],['Bye',7,8,9,5]]

如何做到这一点?

【问题讨论】:

    标签: arrays python-3.x multidimensional-array slice


    【解决方案1】:

    您可以为此使用生成器函数,例如:

    def gen(arr):
        r = []
        for el in arr:
            if r and isinstance(el, str):
                yield r
                r = []
            r.append(el)
        if r:
            yield r
    
    >>> list(gen(array))
    [['Hello', 1, 2, 3], ['Goodbye', 4, 6], ['Bye', 7, 8, 9, 5]]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多