|
În limbajul PYTHON se vorbeşte nu de matrice ci de listă de liste, nu de vector, ci de listă. Deci, pentru a păstra rigoarea PYTHON vom vorbi de transpune datele dintr-o listă de liste într-o listă.
Primul program aşa cum s-ar fi făcut în FORTRAM, PASCAL sau C++ este:
|
|
#
# Conversia unei liste de liste într-o listă simpla
#
Lista_de_Liste = [[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
Lista_simpla = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Nr_linii = len(Lista_de_Liste)
Nr_colane = len(Lista_de_Liste[0])
k = 0
for i in range(Nr_linii):
for j in range(Nr_colane):
Lista_simpla[k] = Lista_de_Liste[i][j]
k += 1
print("Lista de liste este: ")
print(Lista_de_Liste)
print("Lista simpla este: ")
print(Lista_simpla)
print("Numar componente vecror este: ", k)
|
|
Rezultatele afişate sunt:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Lista simpla este:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Numar componente vecror este: 16
Al doilea program ia în considerare crearea listei în mod dinamic, prelăând elementele listei de liste rând pe rând, prin parcurgerea fiecărei sub-liste.
Programul este:
|
|
#
# Conversia unei liste de liste într-o listă simpla
#
Lista_de_Liste = [[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
Lista_simpla = [ ]
Nr_linii = len(Lista_de_Liste)
Nr_colane = len(Lista_de_Liste[0])
for i in range(Nr_linii):
for j in range(Nr_colane):
Lista_simpla.append(Lista_de_Liste[i][j])
print("Lista de liste este: ")
print(Lista_de_Liste)
print("Lista simpla este: ")
print(Lista_simpla)
k = len(Lista_simpla)
print("Numar componente vecror este: ", k)
|
|
Rezultatele afişate sunt:
Lista de liste este:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Lista simpla este:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Numar componente vecror este: 16
Rezultatele afişate sunt:
Al treilea program foloseşte flexibilitatea agregării construcţiilor oferită de limbajul PYTHON.
Programul este:
|
|
#
# Conversia unei liste de liste într-o listă simpla
#
Lista_de_Liste = [[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
Lista_simpla = [ ]
k = 0
for element in Lista_de_Liste:
Lista_simpla.extend(element)
k += 1
print("Lista de liste este: ")
print(Lista_de_Liste)
print("Lista simpla este: ")
print(Lista_simpla)
k = len(Lista_simpla)
print("Numar componente vecror este: ", k)
|
|
Rezultatele afişate sunt:
Lista de liste este:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Lista simpla este:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Numar componente vecror este: 16
A patra variantă de program foloseşte flexibilitatea agregării construcţiilor oferită de limbajul PYTHON folosind for de for.
Programul este:
|
|
#
# Conversia unei liste de liste într-o listă simpla
#
Lista_de_Liste = [[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
Lista_simpla = [x for element in Lista_de_Liste for x in element]
print("Lista de liste este: ")
print(Lista_de_Liste)
print("Lista simpla cu for de for este: ")
print(Lista_simpla)
k = len(Lista_simpla)
print("Numar componente vecror este: ", k)
|
|
Rezultatele afişate sunt:
Lista de liste este:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Lista simpla cu for de for este:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Numar componente vecror este: 16
A cincea variantă de program foloseşte flexibilitatea agregării construcţiilor oferită de limbajul PYTHON folosind operatorul + pentru concatenarea de liste
Programul este:
|
|
#
#
# Conversia unei liste de liste într-o listă simpla cu concatenare
#
Lista_de_Liste = [[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
Lista_simpla = [ ]
for Lista in Lista_de_Liste:
Lista_simpla += Lista
print("Lista de liste este: ")
print(Lista_de_Liste)
print("Lista simpla cu for de for este: ")
print(Lista_simpla)
k = len(Lista_simpla)
print("Numar componente vecror este: ", k)
|
|
Rezultatele afişate sunt:
Lista de liste este:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
Lista simpla cu for de for este:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Numar componente vecror este: 16
Mai sunt şi alte opţiuni de a realiza această conversie, dar pe măsură ce le voi identifica sau descoperii, le voi include aici.
(Afişat azi 23 aprilie 2022 ora 11,50
Terminat azi 23 aprilie 2022 la ora 17,30 )
|
|
revenire
|