Vnořený seznam může být seznam seznamů nebo může obsahovat několik datových typů. Pokud jste vytvořili jeden z několika menších datových typů, možná jej budete chtít sloučit, aby byly položky čitelnější a přístupnější.
Zjistěte, jak převést vnořený seznam na přímý, pomocí tří různých přístupů.
Jak zploštit seznam Pythonu
Existuje několik způsobů, jak narovnat vnořený seznam v Pythonu v závislosti na jeho složitosti. Například seznam obsahující pouze seznamy je snazší sloučit než seznam se smíšenými datovými typy.
V následujících částech uvidíte, jak s každým z nich zacházet.
Jak sloučit vnořený seznam seznamů pomocí funkce Sum()
Tato metoda se vztahuje pouze na seznam seznamů v Pythonu a zahrnuje zřetězení položek v takovém vnořeném seznamu. Nevztahuje se na seznam smyček, slovníků, sad nebo smíšených datových typů, protože tyto typy nelze zřetězit.
I když můžete použít pro smyčka pro sloučení seznamu seznamů, součet() funkce je přímočará a čitelnější, protože a Python one-liner:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = součet (nestedList, [])
tisk(plochý seznam)
# Výstup: [1, 3, 4, 2, 4, 7, 9, 0]
Jak používat smyčku for ke sloučení smíšeného vnořeného seznamu
Můžete použít a Python pro smyčku pro smíšené i homogenní datové typy. Funguje to tedy bez ohledu na to, zda vnořený seznam obsahuje pouze seznamy, n-tice, sady, slovníky nebo jejich směs:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"E": 3, "Ó":9, "t":7}]
plochý seznam = []pro i v nestedList:
pro k in i:
flatList.připojit(k)tisk(plochý seznam)
# Výstup: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'E', 'Ó', 't']
Můžete toho dosáhnout také pomocí porozumění seznamu:
flatList = [k for i in nestedList for k in i]
tisk(plochý seznam)
# Výstup: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'E', 'Ó', 't']
Manipulujte se seznamy Python podle libosti
Seznam v Pythonu zjednodušuje způsob prezentace a přístupu k datům, protože se s ním snadno manipuluje. I když jste viděli, jak sloučit vnořený seznam Python, stále existuje mnoho vylepšení, které můžete na seznamy použít, v závislosti na vašem cíli. Například převod seznamu Python na slovník je dalším běžným úkolem, který Python usnadňuje.