- Массивы Python
- Создание массива
- Многомерный массив
- Операции с массивами
- Обход массива с использованием цикла for
- Обход многомерного массива
- Добавление
- Определение размера
- Срез
- Функция pop
- Методы массива
- Модуль array
- Типы элементов массива
- Python Array of Strings
- Python Lists Vs array
- How To Create Array of string
- How to access array elements?
- How to slice arrays?
- Negative Indexing
- How To Get Array length
- How to Iterate on Python Array
- How to add an Element into an Array
- How To Remove an Element from an Array
- How to Remove Element By value
- How To Extend the array
- 2 thoughts to “Python Array of Strings”
Массивы Python
Основы
В Питоне нет структуры данных, полностью соответствующей массиву. Однако, есть списки, которые являются их надмножеством, то есть это те же массивы, но с расширенным функционалом. Эти структуры удобнее в использовании, но цена такого удобства, как всегда, производительность и потребляемые ресурсы. И массив, и список – это упорядоченные коллекции, но разница между ними заключается в том, что классический массив должен содержать элементы только одного типа, а список Python может содержать любые элементы.
shapito_list = [1, 'qwerty', 4/3, [345, ['a', ]]] print(shapito_list) # Вывод: [1, 'qwerty', 1.3333333333333333, [345, ['a', ]]]Создание массива
Существует несколько способ создать массив. Ниже приведены примеры как это можно сделать.
можно_так = [1, 2, 3, 4, 5] можно_так_2 = list('итерируемый объект') а_можно_и_так = [i for i in range(5)] print('можно_так:', можно_так) print('можно_так_2:', можно_так_2) print('а_можно_и_так:', а_можно_и_так) print('можно_так[0]:', можно_так[0]) print('а_можно_и_так[3]:', а_можно_и_так[3]) # Вывод: можно_так: [1, 2, 3, 4, 5] можно_так_2: ['и', 'т', 'е', 'р', 'и', 'р', 'у', 'е', 'м', 'ы', 'й', ' ', 'о', 'б', 'ъ', 'е', 'к', 'т'] а_можно_и_так: [0, 1, 2, 3, 4] можно_так[0]: 1 а_можно_и_так[3]: 3Многомерный массив
Двухмерный массив в Python можно объявить следующим образом.
example_array = [[-1, 0, 0, 1], [2, 3, 5, 8]] print(example_array[0]) print(example_array[1]) print(example_array[0][3]) # Вывод: [-1, 0, 0, 1] [2, 3, 5, 8] 1example_array = [[[-1, 0], [0, 1]], [[2, 3], [5, 8]]] print(example_array[0]) print(example_array[1]) print(example_array[0][1]) print(example_array[0][1][0]) # Вывод: [[-1, 0], [0, 1]] [[2, 3], [5, 8]] [0, 1] 0Операции с массивами
Давайте теперь рассмотрим операции, которые Пайтон позволяет выполнять над массивами.
Обход массива с использованием цикла for
Мы можем использовать цикл for для обхода элементов массива.
example_array = [1, 2, 3] for i in range(len(example_array)): print(example_array[i]) # Вывод: 1 2 3Здесь представлен подход, свойственный большинству языков программирования. В Python же есть свой, более удобный вариант.
example_array = [1, 2, 3] for i in example_array: print(i) # Вывод: 1 2 3Обход многомерного массива
Для того чтоб получить элементы многомерного массива придётся использовать вложенные циклы.
example_array = [[1, 2], [3, 4]] for i in example_array: for x in i: print(x) # Вывод: 1 2 3 4Добавление
Мы можем использовать функцию insert() для вставки элемента по указанному индексу. Элементы из указанного индекса сдвигаются вправо на одну позицию.
example_array = [[1, 2], [3, 4]] example_array.insert(0, -1) example_array.insert(2, [-1, 13, 64]) print(example_array) # Вывод: [-1, [1, 2], [-1, 13, 64], [3, 4]]example_array = [[1, 2], [3, 4]] example_array.append(-1) example_array.append([-1, 13, 64]) print(example_array) # Вывод: [[1, 2], [3, 4], -1, [-1, 13, 64]]example_array = [1, 2, 3, 4] example_array.extend([5, 6]) print(example_array) # Вывод: [1, 2, 3, 4, 5, 6]Определение размера
Используйте метод len() чтобы вернуть длину массива (число элементов массива).
Не стоит путать размер массива с его размерностью!example_array = [[1, 2], [3, 4]] print('Размер массива:', len(example_array)) example_array.append(-1) print('Размер массива:', len(example_array)) example_array.append([-1, 13, 64]) print('Размер массива:', len(example_array)) # Вывод: Размер массива: 2 Размер массива: 3 Размер массива: 4Поскольку индексация элементов начинается с нуля, длина массива всегда на единицу больше, чем индекс последнего элемента.
example_array = [[1, 2], [3, 4]] print('Равна ли длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) example_array.append(-1) print('Увеличили размер массива.') print('Равна ли теперь длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) # Вывод: Равна ли длина массива номеру последнего элемента + 1? True Увеличили размер массива. Равна ли теперь длина массива номеру последнего элемента + 1? TrueНебольшое пояснение: метод списка .index() возвращает индекс элемента, значение которого совпадает с тем, которое передали методу. Здесь мы передаём значение последнего элемента и, таким образом, получаем индекс последнего элемента. Будьте осторожны: если в списке есть повторяющиеся значения, этот приём не сработает!
Срез
Срез Python предоставляет особый способ создания массива из другого массива.
example_array = [[1, 2], [3, 4]] print(example_array[::-1]) print(example_array[1:]) print(example_array[0][:-1]) # Вывод: [[3, 4], [1, 2]] [[3, 4]] [1]Функция pop
В Python удалить ненужные элементы из массива можно при помощи метода pop, аргументом которого является индекс ячейки. Как и в случае с добавлением нового элемента, метод необходимо вызвать через ранее созданный объект.
example_array = [1, 2, 6, 3, 4] print(example_array.pop(4)) print(example_array) # Вывод: 4 [1, 2, 6, 3]После выполнения данной операции содержимое массива сдвигается так, чтобы количество доступных ячеек памяти совпадало с текущим количеством элементов.
Методы массива
В Python есть набор встроенных методов, которые вы можете использовать при работе с list.
Метод | Значение |
append() | Добавляет элементы в конец списка |
clear() | Удаляет все элементы в списке |
copy() | Возвращает копию списка |
count() | Возвращает число элементов с определенным значением |
extend() | Добавляет элементы списка в конец текущего списка |
index() | Возвращает индекс первого элемента с определенным значением |
insert() | Добавляет элемент в определенную позицию |
pop() | Удаляет элемент по индексу |
remove() | Убирает элементы по значению |
reverse() | Разворачивает порядок в списке |
sort() | Сортирует список |
Модуль array
Если Вам всё-таки нужен именно классический массив, вы можете использовать встроенный модуль array. Он почти не отличается от структуры list, за исключением, пожалуй, объявления.
Вот небольшая демонстрация:
import array example_array = array.array('i', [1, 2, 6, 3, 4]) # превый аргумент указывает на тип элементов. i означает integer example_array.insert(0, -1) print('После вставки:', example_array) example_array.append(-1) print('После добавления в конец:', example_array) example_array.extend([5, 6]) print('После объединения со списком:', example_array) print('Удалён элемент:', example_array.pop(4)) print('После удаления элемента:', example_array) print('Срез:', example_array[0:4]) # Вывод: После вставки: array('i', [-1, 1, 2, 6, 3, 4]) После добавления в конец: array('i', [-1, 1, 2, 6, 3, 4, -1]) После объединения со списком: array('i', [-1, 1, 2, 6, 3, 4, -1, 5, 6]) Удалён элемент: 3 После удаления элемента: array('i', [-1, 1, 2, 6, 4, -1, 5, 6]) Срез: array('i', [-1, 1, 2, 6])Типы элементов массива
Элементы массива в модуле array могут быть следующих типов:
Код типа | Тип в C | Тип в python |
‘b’ | signed char | int |
‘B’ | unsigned char | int |
‘h’ | signed short | int |
‘H’ | unsigned short | int |
‘i’ | signed int | int |
‘I’ | unsigned int | int |
‘l’ | signed long | int |
‘L’ | unsigned long | int |
‘q’ | signed long long | int |
‘Q’ | unsigned long long | int |
‘f’ | float | float |
‘d’ | double | float |
Как Вы можете видеть, со строками модуль не работает.
Python Array of Strings
This tutorial help to create python array of strings. Python does not have built-in support for Arrays. Python lists are used to create an array using capacity. An array is a collection of elements of the same type.
The python every single character in python is treated as a string by itself. A single character in itself is a string with length 1.We can create an array of strings in python using the list.
There is a number of pre-defined methods available for common uses and operation. You can access list items by index, looping into the python array, appending an item into a list, the length using len() method, removing using pop() method, extend() the list, etc.
I’ll cover all the above scenarios in this tutorial step by step.
Python Lists Vs array
You can use the list as an array. The main difference is the type of element stored in the list. The array will store the same type of element whereas the list can store the different types of elements.
//array import array as arr a = arr.array(1, 2, 4.5, "pythonpip") // Error
How To Create Array of string
We need to import array module to create arrays:
a = arr.array('i', [1, 3, 4]) print(a)
How to access array elements?
You can access array elements using the array index. The array element index start with 0 as like python list.
import array as arr a = arr.array('i', [1, 3, 4, 8]) print("First element:", a[0]) print("Second element:", a[1]) print("Last element:", a[-1])
First element: 1 Second element: 3 Last element: 8
How to slice arrays?
We can slice by using the slicing operator : .
import array as arr a = arr.array('i', [1, 3, 4, 8, 12, 23]) print("2nd to 4th element:", a[1:4]) print("Beginning to 3rd element:", a[:-3]) print("4th to end element:", a[3:])
$python main.py ('2nd to 4th element:', array('i', [3, 4, 8])) ('Beginning to 3rd element:', array('i', [1, 3, 4])) ('4th to end element:', array('i', [8, 12, 23]))
Negative Indexing
You can also access the array element using the negative index. The last element can access using the -1 index, the second last will be -2 , so on.
import array as arr a = arr.array('i', [1, 3, 4, 8]) print("First element:", a[-1]) print("Second element:", a[-2])
First element: 8 Second element: 4
How To Get Array length
We can get the array length using len() method.
import array as arr
a = arr.array('i', [1, 3, 4, 8])
print("Length:", len(a))
How to Iterate on Python Array
We can iterate on a python array using for loop.
import array as arr a = arr.array('i', [1, 3, 4, 8]) for x in a print(x)
How to add an Element into an Array
We can also add an element into an array using append() method.
import array as arr a = arr.array('i', [1, 3, 4, 8]) a.append(12) print(a)
How To Remove an Element from an Array
Removal of any element can be done via the pop() method. We can delete any particular element by referring to the index.
import array as arr a = arr.array('i', [1, 3, 4, 8]) a.pop(3) print(a)
The pop(1) will remove the second element from the list.
How to Remove Element By value
We can also use the remove() method to delete the element from an array. The remove method takes the element value as a parameter which do you want to remove.
import array as arr a = arr.array('i', [1, 3, 4, 8]) a.remove(3) print(a)
How To Extend the array
We can add the elements to the end of the list.
import array as arr a = arr.array('i', [1, 3, 4, 8]) b = arr.array('i', [7, 2, 5]) a.extend(b) print(a)
The list has append() and extends() method to concatenate or join two arrays. You can also do the same action by ‘+’ operator.
2 thoughts to “Python Array of Strings”
Keep up the excellent work on the Python community.