当需要按符号对连续元素进行分组时,使用 '^' 运算符和简单迭代以及 'enumerate'。
以下是相同的演示 -
my_list = [15, -33, 12, 64, 36, -12, -31, -17, -49, 12, 43, 30, -23, -35, 53] print("名单是:") print(my_list) my_result = [[]] for (index, element) in enumerate(my_list): if element ^ my_list[index - 1] < 0: my_result.append([element]) else: my_result[-1].append(element) print("结果是:") print(my_result)输出结果
名单是: [15, -33, 12, 64, 36, -12, -31, -17, -49, 12, 43, 30, -23, -35, 53] 结果是: [[15], [-33], [12, 64, 36], [-12, -31, -17, -49], [12, 43, 30], [-23, -35], [53]]
定义了一个列表并显示在控制台上。
定义了一个空的列表列表。
列表使用“枚举”进行迭代,“^”运算符用于检查特定元素是否小于 0。
如果是,则将其附加到空列表中。
否则,它被附加到列表的末尾。
这在控制台上显示为输出。