logo

numpy.ndarray.tolist() v Pythonu

Modul numpy zagotavlja funkcijo numpy.ndarray.tolist() , ki se uporablja za pretvorbo podatkovnih elementov matrike v seznam. Ta funkcija vrne matriko kot a.my- ravni globoko ugnezdeni seznam skalarjev Python.

Preprosto povedano, ta funkcija vrne kopijo elementov polja kot seznam Python. Elementi se pretvorijo v najbližjo združljivo vgrajeno vrsto Python prek funkcije item. Ko je 'a.ndim' 0, je globina seznama 0 in to bo preprost skalar Python, ne kateri koli seznam.

numpy.ndarray.tolist

Sintaksa

 ndarray.tolist() 

Parametri

Ta funkcija nima argumentov ali parametrov.

Vrne: y: predmet ali seznam predmetov ali seznam predmetov

Ta funkcija vrne morebitni ugnezdeni seznam elementov polja.

Opomba
Matriko lahko znova ustvarimo prek a=np.array(a.tolist()), vendar lahko včasih izgubi natančnost.

Primer 1:

Če bomo uporabili a.tolist() za 1D polje bo skoraj enako kot seznam (a) , razen tega našteti pretvori numpy skalare v skalare Python.

 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]) 

Izhod:

 array([6, 2], dtype=uint32) [6, 2] [6L, 2L] 

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo matriko 'a' s funkcijo np.uint32().
  • Razglasili smo spremenljivko 'a_list' in ji dodelili vrnjeno vrednost seznam() funkcijo.
  • Poskušali smo natisniti vrednost 'a', 'a_list' in vrsto a_list.
  • Razglasili smo spremenljivko a_tolist in ji dodelili vrnjeno vrednost ndarray.tolist() .
  • Nazadnje smo poskušali natisniti vrsto in vrednost ' a_tolist '.

V izhodu prikaže seznam in tip, katerega elementi so preoblikovani iz izvorne matrike.

Primer 2:

Za 2-dimenzionalni niz, našteti se uporablja rekurzivno.

 import numpy as np a = np.array([[11, 21], [31, 41]]) b=a.tolist() a b 

Izhod:

 array([[11, 21], [31, 41]]) [[11, 21], [31, 41]] 

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • S funkcijo np.array() smo ustvarili 2-dimenzionalno matriko 'a'.
  • Razglasili smo spremenljivko 'b' in ji dodelili vrnjeno vrednost a.tolist() funkcijo.
  • Nazadnje smo poskušali natisniti vrednost ' b '.

V izhodu prikaže seznam, katerega elementi so preoblikovani iz izvorne matrike.

Primer 3:

 import numpy as np x = np.array(5) list(x) y=x.tolist() y 

Izhod:

 Traceback (most recent call last): File '', line 1, in TypeError: iteration over a 0-d array 5