Вывести определенный элемент массива питон

Взять определенный элемент из списка в списке

Выдаст: [13223, 56, 48996] Нужно: [20, 56, 684] То есть, выбрать первый элемент из всех списков максимально быстрым способом. И как это можно реализовать для numpy array?

3 ответа 3

a = [[10, 20, 30], [13223, 56, 48996], [156, 684, 9686]] list(zip(*a))[1] # (20, 56, 684) 

если вложенные списки могут быть разной длины, то вместо zip берем zip_longest из библиотеки itertools

Я не эксперт, умею только костыльные решения делать, поэтому такой и предлагаю:

a = [[10, 20, 30], [13223, 56, 48996], [156, 684, 9686]] n = 0 for i in range(3): print(a[n][1]) n = n + 1 

List comprehensions вам поможет

def take_items_by_index(list_, index_): return [i[index_] for i in list_] 
a = [[10, 20, 30], [13223, 56, 48996], [156, 684, 9686]] take_items_by_index(a, 0) # OUT # [10, 13223, 156] take_items_by_index(a, 1) # OUT # [20, 56, 684] take_items_by_index(a, 2) # OUT # [30, 48996, 9686] 

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.27.43548

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Читайте также:  Мобильные приложения java это

Источник

Массивы в Python

Python не имеет явной структуры данных массива. Список содержит набор элементов и поддерживает операции добавления / обновления / удаления / поиска. Вот почему в Python не так часто используется отдельная структура данных для поддержки массивов.

Массив содержит элементы одного типа, но список Python допускает элементы разных типов. Это единственное различие между массивом и списком. Но это не нарушает условий и не требует поддержки новой структуры данных.

Однако модуль массива можно использовать для создания массива, подобного объекту, для целочисленных символов, символов с плавающей запятой и символов Юникода.

Модуль массива Python

Модуль массива Python позволяет нам создавать массив с ограничением типов данных. Этот модуль поддерживает только несколько типов данных.

талица Поддерживаемого Типа Массива Python

Код типа Unicode устарел в Python 3.3 и будет удален в версии Python 4.0.

Итак, мы можем создать массив целых чисел и чисел с плавающей запятой, используя модуль массива.

1. Создание массива

Синтаксис для создания массива: array.array(typecode, values_list) .

import array # creating array int_array = array.array('i', [1, 2, 3, 4]) float_array = array.array('f', [1.1, 2.2, 3.3, 4.4]) # unicode array support is deprecated and will be deleted in Python 4 unicode_array = array.array('u', ['\u0394', '\u2167', '\u007B'])

2. Вывод

Если мы печатаем объект массива, он дает нам информацию о коде типа и его элементах. Давайте распечатаем созданные выше массивы, а также распечатаем тип объекта с помощью встроенной функции type().

# printing array print(int_array) print(float_array) print(unicode_array) print(type(int_array))

array(‘i’, [1, 2, 3, 4]) array(‘f’, [1.100000023841858, 2.200000047683716, 3.299999952316284, 4.400000095367432]) array(‘u’, ‘ΔⅧ

3. Печать элементов массива

Мы можем печатать элементы массива с помощью цикла for.

import array int_array = array.array('i', [1, 2, 3, 4]) for a in int_array: print(a)

Мы также можем получить доступ к элементу, используя его индекс. Мы можем использовать индексы для печати элементов массива.

for b in range(0, len(int_array)): print(f'int_array[] = ')
int_array[0] = 1 int_array[1] = 2 int_array[2] = 3 int_array[3] = 4

4. Вставка и добавление элементов

Мы можем использовать функцию insert() для вставки элемента по указанному индексу. Элементы из указанного индекса сдвигаются вправо на одну позицию.

int_array = array.array('i', [1, 2, 3, 4]) int_array.insert(0, -1) # -1,1,2,3,4 int_array.insert(2, -2) # -1,1,-2,2,3,4 print(int_array)

Если вам нужно добавить элемент в конец массива, используйте функцию append().

int_array = array.array('i', [1, 2, 3, 4]) int_array.append(-3) print(int_array) # array('i', [1, 2, 3, 4, -3])

5. Массив поддерживает отрицательный индекс

Мы также можем получить доступ к элементам массива python через отрицательный индекс.

отрицательный индекс

int_array = array.array('i', [10, 20, 30, 40, 50, 60, 70, 80]) print(int_array[-2]) # 70 print(int_array[-5]) # 40

6. Удаление элементов

Мы можем использовать метод remove() для удаления элемента массива.

int_array = array.array('i', [1, 2, 3, 4]) int_array.remove(2) print(int_array) # array('i', [1, 3, 4])

Если элемент отсутствует в массиве, возникает ошибка ValueError.

int_array = array.array('i', [1, 2, 3, 4]) try: int_array.remove(20) except ValueError as ve: print(ve)

Вывод: array.remove(x): x not in array

Мы также можем использовать функцию pop() для удаления элемента по данному индексу. Эта функция возвращает элемент, удаляемый из массива. Если мы не указываем индекс, последний элемент удаляется и возвращается.

int_array = array.array('i', [1, 2, 3, 4]) last_element = int_array.pop() print(last_element) # 4 print(int_array) # array('i', [1, 2, 3]) second_element = int_array.pop(1) print(second_element) # 2 print(int_array) # array('i', [1, 3])

7. Нарезка

Массив Python поддерживает нарезку и возвращает новый массив с подэлементами. Исходный массив остается без изменений. Нарезка также поддерживает отрицательные индексы.

int_array = array.array('i', [0, 1, 2, 3, 4, 5]) print(int_array[3:]) # array('i', [3, 4, 5]) print(int_array[:2]) # array('i', [0, 1]) print(int_array[1:3]) # array('i', [1, 2]) # negative index slicing print(int_array[-2:]) # array('i', [4, 5]) print(int_array[:-2]) # array('i', [0, 1, 2, 3])

8. Поиск элемента

Мы можем использовать функцию index(), чтобы найти индекс первого вхождения элемента. Если элемент отсутствует в массиве, возникает ошибка ValueError.

int_array = array.array('i', [0, 1, 2, 3, 1, 2]) print(f'1 is found at index ') try: print(int_array.index(20)) except ValueError as ve: print(ve)
1 is found at index 1 array.index(x): x not in array

9. Обновление значения по указанному индексу

Мы можем использовать индекс массива с оператором присваивания для обновления значения индекса. Если индекс недействителен, возникает IndexError.

int_array = array.array('i', [0, 1, 2, 3, 1, 2]) int_array[0] = -1 int_array[1] = -2 print(int_array) try: int_array[10] = -10 except IndexError as ie: print(ie)
array('i', [-1, -2, 2, 3, 1, 2]) array assignment index out of range

10. Перевернуть элементы в обратном порядке

Мы можем использовать функцию reverse(), чтобы перевернуть элементы массива.

int_array = array.array('i', [0, 1, 2, 3]) int_array.reverse() print(int_array) # array('i', [3, 2, 1, 0])

11. Подсчет количества элементов

Мы можем использовать функцию count(), чтобы получить количество вхождений значения в массив.

int_array = array.array('i', [0, 1, 1, 0]) print(int_array.count(1)) # 2 print(int_array.count(10)) # 0

12. Расширение путем добавления объекта Iterable

Мы можем использовать функцию extend() для добавления значений из итерируемого объекта в конец массива.

array1 = array.array('i', [0, 1]) array2 = array.array('i', [2, 3, 4]) array1.extend(array2) print(array1) # array('i', [0, 1, 2, 3, 4]) print(array2) # array('i', [2, 3, 4]) array2.extend([1, 2]) print(array2) # array('i', [2, 3, 4, 1, 2]) array1 = array.array('i', [1]) array1.extend(set([0,0,0,2])) print(array1) # array('i', [1, 0, 2])

13. Преобразование массива в список

Мы можем использовать функцию tolist() для преобразования массива в список.

int_array = array.array('i', [0, 1, 2, 3]) print(int_array.tolist()) # [0, 1, 2, 3]

Источник

Оцените статью