gpt4 book ai didi

python - 如何根据 python3 中元素的值将平面列表转换为列表列表?

转载 作者:行者123 更新时间:2023-12-02 18:34:06 24 4
gpt4 key购买 nike

我有一个 list arr=[1,-1,4,-1,4,2]

有办法将其转换为[[1],[4],[4,2]]吗?

基本上 -1 表示子列表结束的位置

我试过了

number_of_sublists=arr.count(-1)
lst=[[]]*(number_of_sublists+1)

idx=0
for i in arr:
print(idx)
if i==-1:
idx+=1
else:
lst[idx].append(i)
print(lst)

但它给了我输出

[[1,4,4,2],[1,4,4,2],[1,4,4,2]]

为什么会出现这种情况

最佳答案

试试这个:

arr=[1,-1,4,-1,4,2]
newarr = [[]]
for i in arr:
if i != -1:
newarr[-1].append(i)
else:
newarr.append([])
print(newarr)

输出:

[[1], [4], [4, 2]]

关于python - 如何根据 python3 中元素的值将平面列表转换为列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69026636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com