Питхон низ нумеричких вредности

У овом упутству ћете научити о Питхон модулу низа, разлици између низова и листа и како и када их користити уз помоћ примера.

Напомена: Када људи кажу низове на Питхону, чешће него не, они говоре о Питхон листама . Ако је то случај, посетите водич за Питхон листу.

У овом упутству ћемо се фокусирати на модул под називом array. arrayМодул нам омогућава да сачувате колекцију нумеричким вредностима.

Креирање Питхон низова

Да бисмо креирали низ нумеричких вредности, морамо да увозимо arrayмодул. На пример:

 import array as arr a = arr.array('d', (1.1, 3.5, 4.5)) print(a)

Оутпут

 низ ('д', (1.1, 3.5, 4.5))

Овде смо креирали низ floatтипова. Писмо dје шифра типа. Ово одређује тип низа током креирања.

Шифре типова које се најчешће користе су наведене на следећи начин:

Код Ц Типе Питхон Типе Мин бајтова
b потписани цхар инт 1
B непотписани цхар инт 1
u Пи_УНИЦОДЕ Уницоде 2
h потписан кратко инт 2
H непотписан кратак инт 2
i потписао међ инт 2
I непотписан инт инт 2
l потписан дуго инт 4
L непотписан дуго инт 4
f пловак пловак 4
d двоструко пловак 8

У овом чланку нећемо разговарати о различитим врстама Ц. У целом овом чланку користићемо два типска кода: iза целе бројеве и dза флоатс.

Напомена : Код uтипа за Уницоде знакове застарео је од верзије 3.3. Избегавајте да користите што је више могуће.

Приступ Питхон елементима низа

Користимо индексе за приступ елементима низа:

 import array as arr a = arr.array('i', (2, 4, 6, 8)) print("First element:", a(0)) print("Second element:", a(1)) print("Last element:", a(-1))

Оутпут

 Први елемент: 2 Други елемент: 4 Последњи елемент: 8

Напомена : Индекс почиње од 0 (а не 1) слично листама.

Резање Питхон низова

Можемо приступити низу ставки у низу помоћу оператора резања :.

 import array as arr numbers_list = (2, 5, 62, 5, 42, 52, 48, 5) numbers_array = arr.array('i', numbers_list) print(numbers_array(2:5)) # 3rd to 5th print(numbers_array(:-5)) # beginning to 4th print(numbers_array(5:)) # 6th to end print(numbers_array(:)) # beginning to end

Оутпут

 арраи ('и', (62, 5, 42)) арраи ('и', (2, 5, 62)) арраи ('и', (52, 48, 5)) арраи ('и', (2 , 5, 62, 5, 42, 52, 48, 5))

Промена и додавање елемената

Низови су променљиви; њихови елементи се могу мењати на сличан начин као и спискови.

 import array as arr numbers = arr.array('i', (1, 2, 3, 5, 7, 10)) # changing first element numbers(0) = 0 print(numbers) # Output: array('i', (0, 2, 3, 5, 7, 10)) # changing 3rd to 5th element numbers(2:5) = arr.array('i', (4, 6, 8)) print(numbers) # Output: array('i', (0, 2, 4, 6, 8, 10))

Оутпут

 низ ('и', (0, 2, 3, 5, 7, 10)) низ ('и', (0, 2, 4, 6, 8, 10))

Помоћу append()методе можемо додати једну ставку у низ или додати неколико ставки помоћу extend()методе.

 import array as arr numbers = arr.array('i', (1, 2, 3)) numbers.append(4) print(numbers) # Output: array('i', (1, 2, 3, 4)) # extend() appends iterable to the end of the array numbers.extend((5, 6, 7)) print(numbers) # Output: array('i', (1, 2, 3, 4, 5, 6, 7))

Оутпут

 низ ('и', (1, 2, 3, 4)) низ ('и', (1, 2, 3, 4, 5, 6, 7))

Такође можемо повезати два низа помоћу +оператора.

 import array as arr odd = arr.array('i', (1, 3, 5)) even = arr.array('i', (2, 4, 6)) numbers = arr.array('i') # creating empty array of integer numbers = odd + even print(numbers)

Оутпут

 низ ('и', (1, 3, 5, 2, 4, 6)) 

Уклањање елемената низа Питхон

Можемо избрисати једну или више ставки из низа помоћу Питхон-ове дел изјаве.

 import array as arr number = arr.array('i', (1, 2, 3, 3, 4)) del number(2) # removing third element print(number) # Output: array('i', (1, 2, 3, 4)) del number # deleting entire array print(number) # Error: array is not defined

Оутпут

 низ ('и', (1, 2, 3, 4)) Трацебацк (последњи последњи позив): Датотека "", ред 9, у испису (број) # Грешка: низ није дефинисан НамеЕррор: име 'број' је није дефинисано

Методу можемо користити remove()за уклањање дате ставке и pop()методу за уклањање ставке по датом индексу.

 import array as arr numbers = arr.array('i', (10, 11, 12, 12, 13)) numbers.remove(12) print(numbers) # Output: array('i', (10, 11, 12, 13)) print(numbers.pop(2)) # Output: 12 print(numbers) # Output: array('i', (10, 11, 13))

Оутпут

 низ ('и', (10, 11, 12, 13)) 12 низ ('и', (10, 11, 13))

Погледајте ову страницу да бисте сазнали више о Питхон низу и методама низа.

Питхон листе против низова

У Питхону, листе можемо третирати као низове. Међутим, не можемо ограничити тип елемената сачуваних на листи. На пример:

 # elements of different types a = (1, 3.5, "Hello") 

Ако креирате низове помоћу arrayмодула, сви елементи низа морају бити истог нумеричког типа.

 import array as arr # Error a = arr.array('d', (1, 3.5, "Hello"))

Оутпут

 Traceback (most recent call last): File "", line 3, in a = arr.array('d', (1, 3.5, "Hello")) TypeError: must be real number, not str

When to use arrays?

Lists are much more flexible than arrays. They can store elements of different data types including strings. And, if you need to do mathematical computation on arrays and matrices, you are much better off using something like NumPy.

So, what are the uses of arrays created from the Python array module?

The array.array type is just a thin wrapper on C arrays which provides space-efficient storage of basic C-style data types. If you need to allocate an array that you know will not change, then arrays can be faster and use less memory than lists.

Ако вам заиста нису потребни низови (модул низа ће бити потребан за повезивање са Ц кодом), не препоручује се употреба модула низа.

Занимљиви Чланци...