Numpy modul poskytuje funkciu numpy.ndarray.tolist() , ktorý sa používa na konverziu dátových prvkov poľa na zoznam. Táto funkcia vráti pole ako an a.my- úrovne hlboko vnorený zoznam skalárov Pythonu.
Jednoducho povedané, táto funkcia vráti kópiu prvkov poľa ako zoznam Python. Prvky sa prevedú na najbližší kompatibilný vstavaný typ Pythonu prostredníctvom funkcie item. Keď je 'a.ndim' 0, hĺbka zoznamu je 0 a bude to jednoduchý skalárny Python, nie akýkoľvek zoznam.
Syntax
ndarray.tolist()
Parametre
Táto funkcia nemá žiadne argumenty ani parametre.
Vráti: y: objekt alebo zoznam objektov alebo zoznam objektov
Táto funkcia vráti možno vnorený zoznam prvkov poľa.
Poznámka
Pole môžeme znova vytvoriť pomocou a=np.array(a.tolist()), niekedy však môže stratiť presnosť.
Príklad 1:
Ak budeme používať a.tolist() pre 1D pole to potom bude skoro to iste ako zoznam (a) , okrem toho listovať konvertuje numpy skaláre na skaláre Pythonu.
import numpy as np a = np.uint32([6, 2]) a a_list=list(a) a_list type(a_list[0]) a_tolist=a.tolist() a_tolist type(a_tolist[0])
Výkon:
array([6, 2], dtype=uint32) [6, 2] [6L, 2L]
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Vytvorili sme pole 'a' pomocou funkcie np.uint32().
- Deklarovali sme premennú 'a_list' a priradili vrátenú hodnotu zoznam() funkciu.
- Pokúsili sme sa vytlačiť hodnotu 'a', 'a_list' a typ a_list.
- Deklarovali sme premennú a_tolist a priradili sme jej vrátenú hodnotu ndarray.tolist() .
- Nakoniec sme sa pokúsili vytlačiť typ a hodnotu ' a_tolist '.
Vo výstupe zobrazuje zoznam a typ, ktorého prvky sú transformované zo zdrojového poľa.
Príklad 2:
Pre 2-rozmerné pole, listovať sa aplikuje rekurzívne.
import numpy as np a = np.array([[11, 21], [31, 41]]) b=a.tolist() a b
Výkon:
array([[11, 21], [31, 41]]) [[11, 21], [31, 41]]
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Pomocou funkcie np.array() sme vytvorili 2-rozmerné pole 'a'.
- Deklarovali sme premennú „b“ a priradili sme jej vrátenú hodnotu a.tolist() funkciu.
- Nakoniec sme sa pokúsili vytlačiť hodnotu „ b '.
Vo výstupe zobrazuje zoznam, ktorého prvky sú transformované zo zdrojového poľa.
Príklad 3:
import numpy as np x = np.array(5) list(x) y=x.tolist() y
Výkon:
Traceback (most recent call last): File '', line 1, in TypeError: iteration over a 0-d array 5