我正在寻找一种方法来获取嵌套在用户定义的列表深度级别的所有元素,例如:
lst = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
# example 1
level = 1 # user defined level
output = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
# example 2
level = 2
output = [[1, 2], [3, 4], [5, 6], [7, 8]]
# example 3
level = 3
output = [1, 2, 3, 4, 5, 6, 7, 8]
最佳答案
您可以只使用递归算法,例如:
output = []
def extract(lists, d):
if d == 1:
return output.extend(lists)
for sub_list in lists:
extract(sub_list, d - 1)
对于 1 级:extract(lst, 1)
print(output)
>>> [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
对于 2 级:extract(lst, 2)
print(output)
>>> [[1, 2], [3, 4], [5, 6], [7, 8]]
对于 3 级extract(lst, 3)
print(output)
>>> [1, 2, 3, 4, 5, 6, 7, 8]
关于python - 如何获取嵌套列表中特定深度级别的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66946328/