Pythoni massiivide initsialiseerimine: loendikomprehensioonid ja NumPy

1. Massiivide (loendite) algistamise põhitõed Pythonis

Pythoni loendid (massiivid) on paindlikud andmestruktuurid, mis võivad salvestada erinevat tüüpi elemente, ning need on Pythoni programmeerimise põhilised ehitusplokid. Selles artiklis selgitame, kuidas Pythonis massiive (loendeid) algistada.

Mis on Pythoni loend?

Loend on andmestruktuur, mida kasutatakse erinevat tüüpi elementide, nagu numbrid ja sõned, rühmitamiseks ning see toimib Pythoni „massiivina“. See võib sisaldada erinevat tüüpi elemente ning saate algistamise järel vabalt elemente lisada või eemaldada.

example_list = [1, "Hello", True]
print(example_list)
# Output: [1, "Hello", True]

Tühja loendi algistamine

Tühja loendi loomiseks kasutage [] või list(). See meetod on ideaalne, kui kavatsete hiljem elemente lisada või soovite muutujat reserveerida.

empty_list1 = []
empty_list2 = list()
print(empty_list1)  # Output: []
print(empty_list2)  # Output: []

Loendi algistamine kindla arvu elementidega

Pythonis saate hõlpsalt luua loendi kindla arvu elementidega. Näiteks saate luua loendi, mis on algistatud viie nulliga, järgmiselt.

initial_list = [0] * 5
print(initial_list)  
# Output: [0, 0, 0, 0, 0]

See meetod on kasulik ühtse väärtusega täidetud loendi loomiseks.

Loendi algistamine list funktsiooni abil

list() funktsioon on kasulik loendi genereerimiseks muudest andmetüüpidest. Näiteks saate sõne loendiks muuta või tuple’i loendiks teisendada.

char_list = list("Python")
tuple_list = list((1, 2, 3))
print(char_list)  
# Output: ['P', 'y', 't', 'h', 'o', 'n']
print(tuple_list)  
# Output: [1, 2, 3]

Ad

2. Loendi algistamine loendi aruandlusega

Loendi aruandlus on mugav süntaks, mis võimaldab Pythoni koodi kirjutada kokkuvõtvalt ja tõhusalt. Need on eriti kasulikud loendite algistamiseks tingimustel põhinedes.

Põhiline loendi aruandlus

Allolev näide algistab loendi, mis sisaldab täisarve 0–9 kasutades loendi aruandlust.

numbers = [i for i in range(10)]
print(numbers)  
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Tingimuslik loendi aruandlus

Saate luua ka loendi tingimustega. Näiteks saate kirjutada loendi, mis ekstrabib ainult paarisarve, nagu allpool näidatud.

even_numbers = [i for i in range(10) if i % 2 == 0]
print(even_numbers)  
# Output: [0, 2, 4, 6, 8]
Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Kahemõõtmelise loendi algistamine

Pythoni loendid saavad esindada mitmemõõtmelisi massiive, sisaldades loendeid loendites. See võimaldab töötada selliste andmestruktuuridega nagu tabelid või maatritsid.

Kahemõõtmelise loendi algistamise viis

Siin on näide 3 × 3 kahemõõtmelise loendi algistamisest loendi aruandluse abil. See lähenemine tagab, et iga alamloend on sõltumatu, vältides tahtmatuid muudatusi jagatud viidete kaudu.

matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)  
# Output: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

Ettevaatus: Viite probleemid kahemõõtmelise loendi algistamisel

Kui kirjutate selle nagu [[0] * 3] * 3, viitab iga rida samale objektile, seega ühe koha muudatus peegeldub teistes ridades. Loendi aruandluse kasutamine genereerib iga rea sõltumatu loendina.

Ad

4. Massiivi operatsioonid: Elementide lisamine ja liitmine

Pythoni loendid saavad dünaamiliselt lisada või eemaldada elemente ning ühendada teiste loenditega isegi algistamise järel. See jaotis selgitab põhiprotseduure.

Elementide lisamine: append meetod

Kasutades append(), saate lisada elemendi loendi lõppu.

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  
# Output: [1, 2, 3, 4]

Elementide sisestamine: insert meetod

insert() sisestab elemendi loendis määratud positsioonile. Indeksi määrates saate sisestada mis tahes asukoht.

my_list = [1, 2, 3]
my_list.insert(1, 'new')
print(my_list)  
# Output: [1, 'new', 2, 3]

Loendi liitmine: + operaator

Mitme loendi liitmiseks kasutage + operaatorit.

list1 = [1, 2, 3]
list2 = [4, 5]
combined_list = list1 + list2
print(combined_list)  
# Output: [1, 2, 3, 4, 5]

Ad
年収訴求

5. Muud initsialiseerimismeetodid: array moodul ja NumPy

Python sisaldab array moodulit, mis on spetsialiseerunud numbrilisele arvutamisele, ning NumPy teeki, mis võimaldab massiivi initsialiseerimist andmestruktuuride abil, mis ei ole loendid.

Initsialiseerimine array mooduli abil

Python’i array moodul suudab salvestada sama andmetüüpi massiive tõhusalt, mis viib madala mälukasutuseni.

import array
int_array = array.array('i', [0] * 5)
print(int_array)  
# Output: array('i', [0, 0, 0, 0, 0])

Mitmemõõtmeliste massiivide initsialiseerimine NumPy abil

NumPy teegiga saate tõhusalt käsitleda suuri mitmemõõtmelisi massiive ning seda kasutatakse sageli teaduslikus arvutamises ja andmeanalüüsis.

import numpy as np
numpy_array = np.zeros((3, 3))
print(numpy_array)
# Output:
# [[0. 0. 0.]
#  [0. 0. 0.]
#  [0. 0. 0.]]

NumPy massiivid on väga arvutuslikult tõhusad ja sobivad suuremahulise andmetöötluse jaoks paremini kui Python’i sisseehitatud loendid.

Ad

6. Massiivi initsialiseerimismeetodite võrdlus Pythonis

Selles artiklis selgitame põhjalikult, kuidas Pythonis loendeid ja massiive initsialiseerida. iga initsialiseerimismeetodi eeliseid ja valides oma kasutusjuhtumi jaoks parima, saate kirjutada tõhusamat koodi.

  • Tühja loendi loomine : Lihtne initsialiseerimine [] ja list() abil.
  • Loendi mõistete (list comprehensions) kasutamine : Loendite elementide lihtne loom tingimuste alusel.
  • Mitmemõõtmelised loendid : Esindatud loendite loenditena, oluliste kaalutlustega.
  • Elementide lisamine ja liitmine : Paindlik manipuleerimine append(), insert() ja + operaatorite abil.
  • array ja NumPy : Andmestruktuurid, mis sobivad numbriliste tüüpide ja mitmemõõtmelise andmetöötluse jaoks.

Mõistes iga meetodi ja teegi omadusi ning kasutades neid õigel ajal, saate omandada Python loendi initsialiseerimise meistriklass.

Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール