Python 获取非常深的嵌套列表中的所有子列表

问题描述 投票:0回答:1

我有 c4 作为一个非常嵌套的列表

[['ziyaret', ['kütüphaneyi', ['bulunduğu', ['kitabın', "'Sayısız'"]], "'bu'"], ['başlarında', ['yüzyılın', "'geçen '"]], ['adamları', "'Avrupalı'", "'bilim'"], "'etmişler'"]]

我用过:


qa=[""]*200
num_of_columns = len(c4[0])
p=0
for col in range(num_of_columns):
    for row in c4:
        print(row[col], end = " ")
        qa[p]=row[col][1]
        p=p+1
    print('')
print(qa[1]) 

输出为:

齐亚雷特 ['kütüphaneyi', ['bulunduğu', ['kitabın', "'Sayısız'"]], "'bu'"] ['başlarında', ['yüzyılın', "'geçen'"]] ['adamları', "'Avrupalı'", "'bilim'"] '埃特米什勒'

我需要循环所有子列表并获取它们的值..

所以我想访问让我们说

'kitabın', "'Sayısız'"

最后我需要输出为:

kitabın 'Sayısız'
bulunduğu kitabın 'Sayısız'
kütüphaneyi bulunduğu kitabın 'Sayısız' 'bu'
python list nested-lists
1个回答
0
投票

您可以通过递归来做到这一点:

def print_line(nested_list):
    for value in nested_list:
        if isinstance(value, list):
            print_line(value)
        else:
            print(value, end=" ")

for nested_list in c4:
    print_line(nested_list)
    print()  # for the line break
© www.soinside.com 2019 - 2024. All rights reserved.