Как посчитать количество элементов в массиве python
В питоне нету массивов. А кортежи, списки и словари есть. Бесит когда люди говорят про массивы в питоне т.к массив со своими элементами будет храниться в выделенной области памяти на компьютере, а каждый элемент списка будет храниться в разных местах памяти.
24 февраля 2022
Легко. Для этого используется функция len() . Она принимает список и возвращает количество элементов в нём.
>>> collection = [1, 2, 'hexlet'] >>> len(collection) 3
Нужно вывести наибольшее число из массива, если их несколько равных вывести все
А Вы пытались самостоятельно решить данную задачу? Можно увидеть код, который вы написали во время этой попытки и услышать в чем именно у вас возникла трудность?
6 окт 2022 в 15:45
Y=(X.pop(X.index(max(X))),X.pop(X.index(max(X)))) Но я видимо не туда пошёл, у меня не получается
6 окт 2022 в 15:54
Максимум нашли — уже хорошо. Теперь переберите элементы массива и возьмите те из них, которые равны этому максимуму. Можете использовать списковое сокращение. Можете обычным append в новый массив элементы добавлять.
6 окт 2022 в 16:11
Вам нужно вывести числа. Вы делаете pop(), да ещё и два раза. Что делает pop() ?
6 окт 2022 в 16:12
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
c = max(x) return [c] * x.count(c)
Находим максимальное число из списка, и возвращаем количество повторений максимального числа умноженное на само число в списке.
Отслеживать
ответ дан 6 окт 2022 в 16:21
45 6 6 бронзовых знаков
Старайтесь давать чуть более развернутые ответы.
6 окт 2022 в 16:25
if даже и не нужен, будет две строчки
6 окт 2022 в 16:31
Ответ отредактировал, вы правы
6 окт 2022 в 16:56
x — изначальный список;
y — список с результатом;
Список у делаем пустым и далее заполняем по условию. Проходим циклом по первому списку и сравниваем каждый элемент с самым большим числом из списка. Если есть совпадения, то добавляем его в список у.
x = [10, 20, 11, 20, 5, 6, 1] y = [] for i in x: if max(x) == i: y += [i] print(x) print(y)
Массивы и списки в Python
Рассмотрим в уроке массивы и их виды, списки, нумерацию списков и основные методы при работе с ними.
Массивы
Мы уже рассматривали строковой тип данных. Он представляется как массив символов и обозначается как array. Массивы могут быть одномерными и многомерны.
Перед началом работы с массивами подключаем соответствующий модуль. Для этого введем команду:
from array import *
Создадим массив для данных типа int:
>>> a = array('i', [2, 5, 4, 0, 8]) >>> type(a) >>> a array('i', [2, 5, 4, 0, 8])
Теперь обратимся к каждому из элементов данного массива. Попробуем изменить их и дополнить массив:
>>> a[2] 4 >>> a[6] Traceback (most recent call last): File "", line 1, in a[6] IndexError: array index out of range
Как видите, нельзя обратиться к элементу, которого нет.
Любой массив может содержать данные только одного типа, то есть нельзя использовать int и float в одном массиве. Это является недостатком при работе, для устранения которого были введены списки (list).
Список в Python
Список в Python похож на массив. Различие в том, что в списках можно хранить объекты различных типов данных. Размер списка не статичен и поддается изменениям.
На программном уровне переменная, определяемая как список, содержит ссылку на структуру в памяти, которая хранит ссылки на какие-либо другие объекты или структуры.

Рассмотрим на примере:
>>> a = [] >>> type(a)
Теперь добавим элементы и проверим доступ к ним:
>>> a = [1,0.34,"Hello"] >>> a [1, 0.34, 'Hello'] >>> a[2] 'Hello' >>> a[0] 1 >>> a[1] 0.34
Нумерация списка в Python
Прямая и обратная нумерация
По умолчанию нумерация начинается с 0.
a = [1, 'abc', h, 0,256] 0 1 2 3
При обратной нумерации элементы считаются с конца и начинаются с -1:
a = [1, 'abc', h, 0,256] -4 -3 -2 -1
С помощью этих индексов можем обратиться к каждому элементу списка:
a[0] >>> 1 a[-2] >>> h
Срез
Срез — это некий диапазон символов, к которому мы обращаемся. При срезе вторым числом мы указываем номер символа, который не входит в диапазон:
a[0:2] #[1, 'abc'] a[-4:-2] #[1, 'abc']
Мы можем обратиться и к символам с использованием разных нумераций одновременно:
a[0:-2] #[1, 'abc']
Если мы не укажем одну из границ среза, то программа принимает за границу первый или последний символ:
a[:2] #[1, 'abc'] a[2:] #[h, 0,256]
Методы работы со списками
Рассмотрим основные методы работы со списками на примерах.
list.append(x)
Добавляет в конце списка новый элемент x:
>>> a = [0,0.1,"один"] >>> a.append(321) >>> a [0, 0.1, 'один', 321]
list.insert(i,x)
Вставка элемента x на место i (нумерация начинается с нуля):
>>> a = [0,0.1,"один"] >>> a.insert(1,321) >>> a [0, 321, 0.1, 'один']
list.extend(L)
Добавляет в конец списка список L:
>>> a = [0,0.1,"один"] >>> b = ["два",3,4.1] >>> a.extend(b) >>> a [0, 0.1, 'один', 'два', 3, 4.1]
list.remove(x)
Удаляет первый встреченный элемент со значением x:
>>> a = [0,0.1,"один",0] >>> a.remove(0) >>> a [0.1, 'один', 0]
list.pop(i)
Возвращает элемент, размещенный по индексу i, удаляет его из списка:
>>> a = [0,0.1,"один",0] >>> a.pop(3) 0 >>> a [0, 0.1, 'один']
list.count(x)
Возвращает количество элементов, равных x:
>>> a = [0,0.1,"один",0] >>> a.count(0) 2
list.clear()
>>> a = [0,0.1,"один",0] >>> a [0, 0.1, 'один', 0] >>> a.clear() >>> a []
Курсы Робикс, в которых изучается этот материал.
- Программирование на Python в Minecraft
- Duckietown робот с системой Автопилота
Массивы (матрицы) в Python

Python — популярный и динамический язык программирования. Он позволяет решать разные задачи по разработке ПО, при выполнении которых часто используются массивы.
С их помощью вы сможете добавить однотипные данные и избежать дублирования кода.
Одномерные массивы в Python представляют собой список элементов. Значения указываются внутри квадратных скобок, где перечисляются через запятую. Как правило, любой элемент можно вызвать по индексу и присвоить ему новое значение.
Массив строк в Python:
Prime = ['string1', 'string2', 'string3'] Prime[1] = 'string2'; //trueЧтобы возвратить число элементов внутри списка, используют функцию len() :
len(Prime) == 4; // trueКогда нужно перечислить элементы массива, применяют цикл for . В «Питоне» этот цикл перебирает элементы, а не индексы, как в Pascal:
for elem in [1, 4, 67]Идём дальше. Создать и добавить цикл в Python можно с помощью генератора заполнения списков. Записывается он в следующем виде: [значение массива for имя переменной in число элементов];
Если говорить про создание не одномерного, а двумерного массива, то он в Python создаётся путём использования вложенных генераторов, и выглядит это так:
[[0 for j in range(m)] for i in range(n)]
Как создаются матрицы в Python?
Добавление и модификация массивов или матриц (matrix) в Python осуществляется с помощью библиотеки NumPy. Вы можете создать таким образом и одномерный, и двумерный, и многомерный массив. Библиотека обладает широким набором пакетов, которые необходимы, чтобы успешно решать различные математические задачи. Она не только поддерживает создание двумерных и многомерных массивов, но обеспечивает работу однородных многомерных матриц.
Чтобы получить доступ и начать использовать функции данного пакета, его импортируют:
import numpy as npФункция array() — один из самых простых способов, позволяющих динамически задать одно- и двумерный массив в Python. Она создаёт объект типа ndarray :
array = np.array(/* множество элементов */)Для проверки используется функция array.type() — принимает в качестве аргумента имя массива, который был создан.
Если хотите сделать переопределение типа массива, используйте на стадии создания dtype=np.complex :
array2 = np.array([ /*элементы*/, dtype=np.complex)Когда стоит задача задать одномерный или двумерный массив определённой длины в Python, и его значения на данном этапе неизвестны, происходит его заполнение нулями функцией zeros() . Кроме того, можно получить матрицу из единиц через функцию ones() . При этом в качестве аргументов принимают число элементов и число вложенных массивов внутри:
np.zeros(2, 2, 2)К примеру, так в Python происходит задание двух массивов внутри, которые по длине имеют два элемента:
array([ [[0, 0]] [[0, 0]]] )Если хотите вывести одно- либо двумерный массив на экран, вам поможет функция print() . Учтите, что если матрица слишком велика для печати, NumPy скроет центральную часть и выведет лишь крайние значения. Дабы увидеть массив полностью, используется функция set_printoptions() . При этом по умолчанию выводятся не все элементы, а происходит вывод только первой тысячи. И это значение массива указывается в качестве аргумента с ключевым словом threshold.
Базовые операции в NumPy
Все действия, производимые над компонентами массива, оборачиваются созданием нового массива. При этом массивы и матрицы взаимодействуют в том случае, если имеют один и тот же размер:
array1 = np.array([[1, 2, 3], [1, 2, 3]]) array2 = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])Если выполнить array1 + array2, компилятор скажет об ошибке, а всё потому, что размер первого matrix равен двум, а второго трём.
array1 = np.array([1, 2, 5, 7]) array2 = arange([1, 5, 1])В данном случае array1 + array2 вернёт нам массив со следующими элементами: 2, 4, 8, 11. Здесь не возникнет ошибки, т. к. матрицы имеют одинаковые размеры. Причём вместо ручного сложения часто применяют функцию, входящую в класс ndarray sum() :
np.array(array1 + array1) == array1 + array2В ndarray входит большая библиотека методов, необходимых для выполнения математических операций.
Форма матрицы в Python
Lenght matrix (длина матрицы) в Python определяет форму. Длину матрицы проверяют методом shape() .
Массив с 2-мя либо 3-мя элементами будет иметь форму (2, 2, 3). И это состояние изменится, когда в shape() будут указаны аргументы: первый — число подмассивов, второй — размерность каждого подмассива.
Те же задачи и ту же операцию выполнит reshape() . Здесь lenght и другие параметры matrix определяются числом столбцов и строк.
Есть методы и для манипуляции формой. Допустим, при манипуляциях с двумерными или многомерными массивами можно сделать одномерный путём выстраивания внутренних значений последовательно по возрастанию. А чтобы поменять в матрице строки и столбцы местами, применяют transpose() .
Операции со срезами matrix в Python
Часто мы работаем не с целым массивом, а с его компонентами. Эти операции выполняются с помощью метода слайс (срез). Он пришел на замену циклу for, при котором каждый элемент подвергался перебору. Метод позволяет получать копии matrix, причём манипуляции выполняются в виде [start:stop:step] . В данном случае start — индекс элемента, с которого берётся отсчёт, stop — последний элемент, step — размер шага или число пропускаемых значений элемента при каждой итерации. Изначально start равен нулю, stop — индексу последнего элемента, step — единице. Если выполнить операции без аргументов, копирование и добавление списка произойдёт полностью.
Допустим, имеем целочисленный массив otus = [1, 2, 3, 4] . Для копирования и вывода используем otus[:] . В итоге произойдёт вывод последовательности [1, 2, 3, 4]. Но если аргументом станет отрицательное значение, допустим, -2, произойдёт вывод уже других данных:
otus[-2]; //[4]Возможны и другие операции. Например, если добавить ещё одно двоеточие, будет указан шаг копируемых элементов. Таким образом, otus[::2] позволит вывести матрицу [1, 3].
Если ввести отрицательное значение, к примеру, [::-2] отсчёт начнётся с конца, и в результате произойдёт вывод [3, 1]. Остаётся добавить, что метод среза позволяет гибко работать с матрицами и вложенными списками в Python.
Хотите узнать гораздо больше? Записывайтесь на курс «Разработчик Python»!


