Skip to main content
 首页 » 编程设计

python之你如何解包不同长度的嵌套列表

2025年05月04日17mayingbao

<分区>

我知道我们可以解包列表中的项目。例如,这有效:

mynestedlist = [[1,2],[3,4],[5,6],[7,8]] 
 
for a,b in mynestedlist: 
    print(a) 
    print(b) 

结果:

1 
2 
3 
4 
5 
6 
7 
8 

是否可以解压一个看起来像这样的列表?我正在寻找一种可以控制展平程度的解决方案,这个问题不仅仅是任意展平不规则列表。

myotherlist = [[1,2,['A','B']],[3,4],[5,6],[7,8]] 

当我尝试使用相同的方法时,我收到:

ValueError: too many values to unpack (expected 2) 

所以我尝试了以下方法:

for a,b,c in mynestedlist: 
    print(a) 
    print(b) 
    print(c) 

在这种情况下,我收到:

ValueError: not enough values to unpack (expected 3, got 2) 

如何在不必完全展平所有包含的项目的情况下解压长度可能会或可能不会变化的嵌套列表?

期望的结果:

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