Перейти к содержимому

Как найти число в массиве питон

  • автор:

Как найти определенное число в массиве

Дано натуральне число N. Вивести “Yes”, якщо у записі цього числа є цифра 2 або “No” в іншому випадку.

Формат вхідних даних
У стандартному потоці міститься N (N<2*10^9).

Формат вихідних даних
У стандартний потік вивести результат.

Приклад вхідних даних
Copy
123
Приклад вихідних даних
Copy
Yes

Вот мой код но он не работает так как надо

1 2 3 4 5 6 7 8 9 10
n=input() mas=[] mas.append(int(n)) for i in range(len(mas)): if i==2: print("Yes") break else: print("No") break

Я просто не знаю как определить определенное число в массиве, возможно есть какая-то функция
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как найти определённое количество файлов, имеющих наибольшее число ссылок?
Необходимо создать команду, расширяющую функциональные возможности системы Unix.Можно использовать.

Вставить число в определенное место в массиве чисел
Здравствуйте. Вопрос заключается в следующем, как можно поместить в определенное место в массиве.

Найти минимальное число, факториал которого будет делиться на определенное число
здравствуйте,есть задача, в ходе которой нужно найти минимальное число m, факториал которого будет.

Поиск пар чисел в массиве, которые в сумме дают определенное число
Условия программы: Дан целочисленный массив положительных чисел,(не отсортированный) и полож число.

814 / 526 / 214
Регистрация: 22.12.2017
Сообщений: 1,495

print('yes' if '2' in input() else 'no')

Кликните здесь для просмотра всего текста

1 2 3
>>> '2' in '0743598265' True >>>

Просто Лис

Эксперт Python

5318 / 3332 / 1021
Регистрация: 17.05.2012
Сообщений: 9,765
Записей в блоге: 9

1 2 3 4 5 6 7 8
is_found = False for i in mas: if i==2: is_found = True print("Yes") break if not is_found: print("No")

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как найти число в массиве?
подскажите пожалуйста как найти максимально и минимальное число в массиве? за ране спасибо !

Вывести определенное число в определенное время
Привет! Подскажите пожалуйста по реализации такой задачи Вывести на страницу определенное число в.

Как найти число в большом массиве?
Здравствуйте. Есть массив на 1000000 элементов в котором все числа разные в диапазоне от 0 до 2^32.

Как найти в массиве максимальное число?
как найти в массиве максимальное число?пример.

Как вывести определенное количество чисел в массиве
В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива.

Как в массиве найти число < 200, но >100?
Помогите пожалуйста. очень-очень нужно. задачка такая: дан файл с данными о товарах на.

как найти наибольшее число в массиве чисел?
с помощью math.max я так понял нельзя?

Поиск элемента в списке Python

Поиск элемента в списке Python

Сегодня я расскажу, как проверить, содержит ли список элемент с помощью разных операторов в Python.

Используя цикл for

В качестве примера, я буду использовать список строк, содержащих несколько животных:

animals = ['Dog', 'Cat', 'Bird', 'Fish']

Простой и рудиментарный метод проверки, содержит ли список элемент: наш метод проходит через элемент и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте для этого воспользуемся циклом for:

for animal in animals: if animal == 'Bird': print('Chirp!')
Chirp!

Используя оператор in

Теперь более лаконичным подходом было бы использование встроенного оператора in, но с оператором if вместо оператора for. В паре с if он возвращает True, если элемент существует в последовательности или нет. Синтаксис оператора in выглядит следующим образом:

element in list

Используя этот оператор, мы можем сократить наш предыдущий код в один оператор:

if 'Bird' in animals: print('Chirp')
Chirp

Этот подход имеет ту же эффективность, что и цикл for, поскольку оператор in, используемый таким образом, вызывает функцию list.__contains__, которая по своей сути циклически проходит через список — хотя это гораздо читабельнее.

Используя оператор not in

Вы можете использовать оператор not in, который является логической противоположностью оператору in. Он возвращает True, если элемент не присутствует в последовательности.

Давайте перепишем предыдущий пример кода, чтобы использовать оператор not in:

if 'Bird' not in animals: print('Chirp')

Запуск этого кода ничего не даст, так как Bird присутствует в нашем списке.

Но если мы попробуем это с Wolf:

if 'Wolf' not in animals: print('Howl')
Howl

С помощью лямбда функции

Еще один способ проверить, присутствует ли элемент — отфильтровать все, кроме этого элемента, точно так же, как просеять песок и проверить, остались ли в конце какие-нибудь раковины. Встроенный метод filter() принимает в качестве аргументов лямбда-функцию и список. Здесь мы можем использовать лямбда-функцию для проверки нашей строки «Bird» в списке animals.

Затем мы оборачиваем результаты в list(), так как метод filter() возвращает объект filter, а не результаты. Если мы упакуем объект filter в список, он будет содержать элементы, оставшиеся после фильтрации:

retrieved_elements = list(filter(lambda x: 'Bird' in x, animals)) print(retrieved_elements)
['Bird']

Сейчас этот подход не самый эффективный. Это довольно медленнее, чем предыдущие три подхода, которые мы использовали. Сам метод filter() эквивалентен функции генератора:

(item for item in iterable if function(item))

Замедление производительности этого кода, помимо всего прочего, происходит из-за того, что мы преобразуем результаты в список в конце концов, а также выполняем функцию для элемента на каждой итерации.

Используя функцию any

Еще один отличный встроенный подход заключается в использовании функции any, которая является просто вспомогательной функцией, которая проверяет, есть ли какие-либо (по крайней мере 1) экземпляры элемента в списке. Он возвращает True или False в зависимости от наличия или отсутствия элемента:

if any(element in 'Bird' for element in animals): print('Chirp')

Поскольку это приводит к True, наш оператор print сработает:

Chirp

Этот подход также является эффективным способом проверки наличия элемента. Он ничем не уступает первым трём проверкам!

Используя метод count

Наконец, мы можем использовать функцию count, чтобы проверить, присутствует ли элемент или нет:

list.count(element)

Эта функция возвращает вхождение данного элемента в последовательность. Если он больше 0, мы можем быть уверены, что данный элемент находится в списке.

Давайте проверим результаты функции count:

if animals.count('Bird') > 0: print("Chirp")

Функция count по своей сути зацикливает список, чтобы проверить количество вхождений, и этот код приводит к запуску print:

Chirp

Заключение

В этой статье я рассмотрел несколько способов, как проверить, присутствует ли элемент в списке или нет. Я использовал цикл for, операторы in и not in, а также методы filter, any и count.

поиск числа в массиве

для начала неплохо было бы определится что вы считаете числом. Какие из следующих значений вы считаете числами: [1.23, ‘1.2’, ‘nan’, ‘inf’, ‘012’, ‘0x12’] ?

12 ноя 2021 в 12:43
ох ты , елки моталки, любы числа 1,2,3,5. кроме отрицательных
12 ноя 2021 в 12:46
А нуль? так до бесконечности же можно=) Хотим тип данных
12 ноя 2021 в 12:54

«Быстрый» — это в смысле у вас много чисел и вы хотите, чтобы работало не слишком долго, или под «быстрый» вы имели в виду «простой»? )

12 ноя 2021 в 14:54
а вот с типами отчлиынй вопрос, это же фундамент, где есть информация по типам данных в питоне* ?
13 ноя 2021 в 11:44

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

если массив неотсортированный, то все равно равно придется просмотреть все элементы, так что от O(n) никуда не деться,

если записи отсортированы, то легко провести бинарный поиск и найти границы отрицательных и положительных чисел, положительных чисел и не чисел (например, строк) и сложность будет O(log(n)), после чего выделить нужные вам числа, впрочем если условия сортировки задать так, чтобы натуральные числа были старше всего остального, а отрицательные целы больше, чем все кроме натуральных, тогда надо будет найти только 1 границу, а не 2

ну и остаётся вопрос, считать ли строки с числами — числами ‘123’ , 1e2 , 0x12 и т.д.

Нахождение среднего числа в массиве Python?

Помогите. Да я знаю для кого-то вопрос покажется легким, но я новичек в программировании, да и питонку изучаю только 1-й день. Но мне интересно многое. Я решил реализовать такое вот задание:
Например, всего элементов в массиве 7, и я хочу реализовать, чтобы средний элемент, тобиж 4 выводился (да, я знаю, что отсчёт элементов массива с нуля, но здесь я 4 указал, чтобы было понятно).
Собственно, до 9 элементов, всё нормально работает, но после 10 элемента — беда.
Код:

my_list=[] n = int(input('Введи число для массивов: ')) for i in range(n): el = int(input("Введи: ")) my_list.append(el) if(n%2 != 0): av = n - (n/2) a = int(round(av)) average = my_list[a] print(average, a+1) #Т.к. отсчёт с нуля, я решил в принте прибавить еденицу для того чтобы было понятно else: print('Вы ввели четное кол-во') input()
  • Вопрос задан более трёх лет назад
  • 4955 просмотров

Комментировать
Решения вопроса 1
Сергей Горностаев @sergey-gornostaev Куратор тега Python
Седой и строгий

average = sum(my_list) / len(my_list)

from statistics import mean average = round(mean(my_list))

P.S. Изучение лучше начинать с чтения учебника.
Ответ написан более трёх лет назад
Нравится 2 4 комментария
Wiget @Wiget Автор вопроса

Так это нахождение ср. арифм., а мне надо, чтобы находило среднее значение массива. Если 7 элементов, то должен выводит 4 элемент и т.п.

Сергей Горностаев @sergey-gornostaev Куратор тега Python
Wiget, ещё того проще — my_list[len(my_list)//2]
Wiget @Wiget Автор вопроса

from statistics import mean average = round(mean(my_list))

Вот это подошло. Огромное спасибо. Так я и учебники читаю, но любопытство берет вверх 🙂
Да и my_list[len(my_list)//2] тоже подошел)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *