作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个以以下形式出现的嵌套列表列表
A = [[a,b],[c,d]] or [[[a,b],[c,d]]] or [[[[a,b],[c,d]]]] or [[[[[a,b],[c,d]]]]]
等等。这些形式的 A
不会同时出现。
无论 A 如何嵌套,我如何编码来剥离列表,并仅获取:
[a,b]
[c,d]
我尝试过这个:
def Peel_list(Features):
try:
for lon,lat in Features:
print((lon,lat))
except:
for Feature in Features:
for t_list in Feature:
for A in t_list:
for lon,lat in A:
print((lon,lat))
return()
但它只适用于有限的A。
最佳答案
通常,当我们想要处理任意嵌套对象的问题时,递归是一个很好的起点。在这里,我们要继续“挖掘”,直到达到基本情况,在我们的例子中是任何非列表值。代码看起来像这样
test = [1, [3,4],[[5]], [[[6]]]]
peeled = []
def peel(myList, peeled):
for val in myList:
if isinstance(val, list):
if not isinstance(val[0], list):
peeled.append(val)
else:
peel(val, peeled)
else:
peeled.append(val)
peel(test, peeled)
print(peeled)
这会给你类似的东西
[1, [3, 4], [5], [6]]
关于python - 循环遍历列表的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169339/
我是一名优秀的程序员,十分优秀!