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)

instagram viewer

# 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.