PYTHON массивы на ПРОСТЫХ примерах. Отличия от СПИСКОВ и принцип работы

  Рет қаралды 31,761

ZProger [ IT ]

ZProger [ IT ]

Күн бұрын

Array массивы в Python с нуля в одном видео
⭐ Курс ООП и Приват канал: zproger-school.com/
⭐ Телеграм канал: t.me/+s9ScbtfzA3djNGI5
В данном видео мы рассмотрим Array массивы, принцип их работы и основные отличия от списков. Часто многие путают эти структуры, и думают что списки и массивы это одно и тоже. Цель данного видео, показать основные отличия массивов и познакомить вас с
📁 Github: github.com/Zproger
📁 Все плейлисты с уроками: bit.ly/39GaY89
📁 Связаться со мной: zproger777@gmail.com
📁 Поддержать криптовалютой: github.com/Zproger/donate
Таймкоды:
00:00 - Вступление
00:19 - Отличия массивов от списков
2:10 - Типы данных и инициализация массива
3:09 - Срезы, индексы
3:58 - Развернуть массив
4:54 - Узнать тип данных массива на лету
5:23 - Конкатенация, умножение и объединение массивов
5:51 - Узнать сколько байтов занимает тип данных массива
6:12 - Добавить значения, узнать количество повторений
6:28 - Преобразовать массив в список
6:56 - Поиск индекса определенного значения
7:23 - Добавить значение в массив по индексу
7:48 - Вернуть и удалить значение из массива
8:50 - Удалить значение из массива
9:33 - Пишем мини программу используя массивы

Пікірлер: 70
@zproger
@zproger 2 жыл бұрын
Решил также к каждому видео добавлять таймкоды. Помогает ли это вам более комфортно смотреть видео? И стоит ли дальше разбивать видео на эпизоды?
@dev_line
@dev_line 2 жыл бұрын
помогает
@master8920
@master8920 2 жыл бұрын
Да, спасибо очень удобно
@unToneee
@unToneee Жыл бұрын
Спасибо! Таймкоды очень помогают.
@Fravije
@Fravije Жыл бұрын
Было бы хорошо чуть помедленнее говорить. И куча спецэффектов... это лишнее, по итогу важнее информация и ее качественное донесение. Иногда "скучный" дядя у зеленой доски с мелом объяснит так, что всё становится понятно. Без лишней мишуры.
@user-qp3tl2nz1w
@user-qp3tl2nz1w Жыл бұрын
Для тех, у кого первый язык питон и не понимает отличие: b = от -128 до 127 B = от 0 до 255 u = юникод h = от -32768 до 32767 H = от 0 до 65535 i (взят для примера в видео) = от -2 147 483 648 до 2 147 483 647 I (большая i, а не л) = от 0 до 4 294 967 295 l (малая л, не путать с и) = от -2147483648 до 2147483647 L = от 0 до 18446744073709551615 q = от -9223372036854775808 до 9223372036854775807 Q = от 0 до 18446744073709551615 f = точность 6-7 знаков (32 битный) d = точность 15-18 знаков (64 битный) Для дополнения пишите в комментариях
@artembagachkov933
@artembagachkov933 2 жыл бұрын
Афигеть, я всегда знал что списки и массивы это разные вещи, но не знал что в Python тоже есть массивы. Спасибо большое 🔥🧑‍💻🤝
@zproger
@zproger 2 жыл бұрын
:)
@farion_egl1382
@farion_egl1382 2 жыл бұрын
единственный адекватный человек, который не сравнивает массивы со списками, почему-то когда я изучал C# проблем не было, но перейдя в питон тут все ничего не понимают, все в кучу чтобы не смотрел везде пишут так массивы(списки), спасибо что хотя бы ты хорошо объяснил ото я уже начал сомниваться
@zproger
@zproger 2 жыл бұрын
Благодарю, очень рад что понравилось :)
@user-wr2zb5mk7n
@user-wr2zb5mk7n Жыл бұрын
Никто не говорит про массивы. Все ограничиваются списком. Спасибо, очень доступно! лайк, подписка!
@zproger
@zproger Жыл бұрын
Благодарю
@denissavast
@denissavast 2 жыл бұрын
Отличная подача! Благодарю
@zproger
@zproger 2 жыл бұрын
Рад что понравилось :)
@dimk7983
@dimk7983 2 жыл бұрын
Спасибо, интересно а главное компактно.
@zproger
@zproger 2 жыл бұрын
Спасибо за поддержку :)
@from_spb
@from_spb Жыл бұрын
Друже, у вас один из самых полезных и насыщенных каналов! Супер. А про многомерные массивы что-то будет?
@robertobokarev439
@robertobokarev439 Жыл бұрын
а зачем про многомерные, там и так всё понятно, просто вместо size=* пиши size = (*, *...), или сколько там тебе надо измерений
@fahrenheit1863
@fahrenheit1863 Жыл бұрын
Видео конечно полезное, но остался один вопрос какие преимущества дает массив, кроме экономии памяти? Решил потестить на сортировке вставкой и получилось, что места массив занимает в два раза меньше и почему-то алгоритм с ним работает медленнее хотя прогрессия сложности(O(n**2)) в случае со списком и массивом одинаковая.
@pilina_
@pilina_ 2 жыл бұрын
спасибо за видео, мне было полезно
@zproger
@zproger 2 жыл бұрын
Пожалуйста :)
@pythonavr
@pythonavr 2 жыл бұрын
А почему в конце видео, в примере использования Array, лучше использовать именно его? Чем он лучше списка здесь? И вообще пример какой-то странный: этот цикл работает за О(n^2), хотя можно написать за O(n), и это даже проще и интуитивнее. Вроде бы Array нужен чтобы оптимизировать код, потому что некоторые операции в нём реализованы эффективнее, но в этом примере массив точно не спасает ваш код от квадратичной сложности. Плюс есть такой вопрос: зачем Array, если есть numpy? Разве хоть где-нибудь он будет эффективнее?
@zproger
@zproger 2 жыл бұрын
Было бы очень странно, если бы в видео по Array я написал программу используя списки. Я специально взял Array, чтобы показать практический пример, но в данном случае это не лучше списков.
@naffy3495
@naffy3495 2 жыл бұрын
Подскажите пожалуйста, вот Вы открываете файл на 4:16 , как его можно открыть? И вообще есть ли какой-нибудь способ, чтобы открывать так все необходимые мне модули??
@zproger
@zproger 2 жыл бұрын
Это делается через Ctrl+ЛКМ
@naffy3495
@naffy3495 2 жыл бұрын
@@zproger спасибо 🥰
@user-ip7sp6ip2g
@user-ip7sp6ip2g Жыл бұрын
что за питон такой я имею ввиду его внешний вид подскажите пж что за питон
@user-nv4rn8qy3l
@user-nv4rn8qy3l Жыл бұрын
Я не много понял я изучаю язык python спс за обучение
@arkadiyburdin855
@arkadiyburdin855 2 жыл бұрын
Спасибо. Понятнее не стало))
@zproger
@zproger 2 жыл бұрын
Пересмотрите ещё раз :) Можно комбинировать также несколько разных видео, чтобы материал лучше прорабатывался
@robertobokarev439
@robertobokarev439 Жыл бұрын
Массивы в 2 словах: Итерируемый изменяемый объект фиксированного размера (size), хранящий элементы лишь определённого типа (data type или dtype). Имеет методы, похожие на методы списка, но функционал и скорость куда выше. Можно использовать специальные интегрированные типы, имеющие определенный размер в памяти с фиксировагным множеством значений. Сама библиотека numpy - обязательное пособие для каждого питониста.
@QwDragon
@QwDragon Жыл бұрын
Интересно. Но про асимптотику ничего :( Да ещё и последняя программа работает за квадрат, хотя должна линейно. И вообще, очень странно, что везде (за исключением примеров операций) для создания массива уже используется список, передаваемый в конструктор.
@master8920
@master8920 2 жыл бұрын
Раз посмотреть мало для меня надо ещё. Спс не знал отличия и не знал о array. Go видео про numpy
@zproger
@zproger 2 жыл бұрын
Спасибо за идею :)
@user-ml4xx7ii8x
@user-ml4xx7ii8x 8 ай бұрын
так разве список в питоне не ссылками наполняется?
@aghahahahaha
@aghahahahaha 10 ай бұрын
Где мне использовать этот массив ?
@dien4369
@dien4369 3 ай бұрын
for value in a: if value % 2 == 0: a[value] = 255 #почему не так в конце?) print(a)
@lzrdblzzrd
@lzrdblzzrd 2 жыл бұрын
0:38 А что он, собственно, делает?
@ArtyoMajas
@ArtyoMajas 2 жыл бұрын
Сам сижу и офигиваю от его уровня. Хакерман)
@Fravije
@Fravije Жыл бұрын
Что касается самих массивов, то я их до сих пор не встречал при изучении (за два месяца). Ни в книгах (Лутц, Свейгарт, укус питона), ни на степике, ни на ютубе. Может они появились недавно, в новейших версиях)? Или все же массив это частный случай списка? Больно они похожи.
@user-bn6iu8uk1k
@user-bn6iu8uk1k Жыл бұрын
Потому что для новичков массивы бесполезны
@narkotr4fic843
@narkotr4fic843 Жыл бұрын
@@user-bn6iu8uk1k а можете подсказать, я правильно понимаю, что массив как и сказал автор ролика, достаточно уместно использовать именно тогда,когда мы знаем что расширяться набор данных не будет, и при этом он будет иметь данные одного типа? Ну то есть, с точки зрения оптимизации памяти и тд, если есть возможность использовать массивы, то лучше юзать их? Просто как пишут люди, и пока я сам лично не начал вникать во все эти штуки со списками, стеками и тд, действительно по шаблону юзал обычный лист и не задумывался. А потом посмотрел видиков с совбесов, а там оказывается спрашивают о таком. Кстати, как оказалось,гибрид из массивов и связных списков тоже крутая штука в некоторых ситуациях.
@GexPlayerMD
@GexPlayerMD 2 жыл бұрын
0:58 А что это за ресурс такой интересный? Ссылочку плиз.
@zproger
@zproger 2 жыл бұрын
www.w3schools.com/python/python_arrays.asp
@GexPlayerMD
@GexPlayerMD 2 жыл бұрын
@@zproger О, спс =)
@irwe3514
@irwe3514 2 жыл бұрын
как вывести только парные числа?
@farion_egl1382
@farion_egl1382 2 жыл бұрын
не понял, т.е. есть массив [1 2 3 4 5 6] и тебе нужно разделить его на 3 массива по [1 2][3 4][5 6] или одинаковые числа на подобие [2 1 2] - вывод 2?
@predatel_rodini
@predatel_rodini 2 жыл бұрын
Шлак какой-то. Не вижу никаких преимуществ в этих примерах. А насчёт потребления памяти там ещё нужно посчитать и поспорить. Если ты в массив (который как-бы концептуально должен быть неизменяемым типом данным с заранее заданным числом элементов) добавляешь новые элементы, то как минимум под капотом будет создаваться его полная копия с добавленным элементом. В то время как при изменении списка это будет происходить не каждое добавление элемента, а лишь иногда, когда он будет переполняться. Кароче тема где именно массивы в питоне лучше списков не раскрыта
@pythonavr
@pythonavr 2 жыл бұрын
Вы больны? Зачем вам добавлять элементы в масссив? Для этого список есть
@zproger
@zproger 2 жыл бұрын
В конце видео говорил, что цель ролика просто познакомить с новой структурой, я не хотел этим видео показать, что списки нужно выбросить и использовать только массивы. Дело в том, что никто не рассматривает в своих видео данную структуру и многие вообще не знают о её существовании. И также многие путают списки с массивами, думая что это одно и тоже.
@farion_egl1382
@farion_egl1382 2 жыл бұрын
В питоне массивы - шлак т.к. питоно-юзеры в основном занимаются не большими программами(уже давно доказано и разжёвано, что он не подходит для крупных проектов), в другом любом языке на подобие C++ или С# массивы очень нужны т.к. с их помощью легче работать, допустим у тебя есть список и массивы, в список попадают все элементы тобиш булл, инт, стр и т.д. в массивах есть такая вещь если допустим взять число 3 и поделить на 2 он меняет тип данных и массив его уже не пускает, а либо выдает ошибку, либо работает без него и поверь что со списком если он пропустит это, то полностью изменится смысл программы, кншн можно сделать проверку, но как и было сказано в видео массивы работают быстрее по 1 этой причине, так что делай вывод.
@logic4519
@logic4519 2 жыл бұрын
в lua есть только списки, и они такиеже
@zproger
@zproger Жыл бұрын
=)
@hawchik6921
@hawchik6921 2 жыл бұрын
где код генератора NFT, уже 700 лайков
@zproger
@zproger 2 жыл бұрын
Код будет, но 26 января, так как кто-то накрутил лайки ботами. Вчера утром было 450 лайков и 500 набралось бы примерно дня за 2, а сейчас зашел и увидел +370 лайков за пару часов, 70 из которых потом ещё и списали. так что 26 января всё подготовлю и залью, чтобы больше не крутили в дальнейшем
@hawchik6921
@hawchik6921 2 жыл бұрын
@@zproger окей, жду
@user-eo9td2bj5q
@user-eo9td2bj5q 2 жыл бұрын
Говорите складно, но такой мелкий шрифт блин, поймите ютуб смотрят в промежутках времени от основной работы, и обязательно со смартфонов!
@zproger
@zproger 2 жыл бұрын
В новых видео уже достаточно крупный шрифт
@Empty_Vima
@Empty_Vima Жыл бұрын
Автор хотел выпендриться, и на деле не чего полезного, особенно для новечков. Грокаем алгоритмы, самый первый раздел в помощь.
@zproger
@zproger Жыл бұрын
:D
@user-jk2oj4he7q
@user-jk2oj4he7q 2 жыл бұрын
в итоге нет инфы чем же отличаются
@zproger
@zproger 2 жыл бұрын
Как это нет, а это что тогда? 0:19 - 2:08
@farion_egl1382
@farion_egl1382 2 жыл бұрын
@@zproger во 1) вы не раскрыли потенциал массивов по сравнению со списками и как ими удобно пользоваться, вы лишь показали верхушку айсберга. Во 2) мне оч понравилась подача видео, продолжайте в том же духе!
@MrSunTrope
@MrSunTrope Жыл бұрын
Там разница в хранении данных, списки это связанные списки каждый элемент хранит ссылку на следущий, массив это просто ячейка в которой хранятся значения, соотвественно и разная асимптотическая сложность, в чтении данных масивы быстрее, в добавление или удалении элемента списки быстрее
@ntvisigoth
@ntvisigoth 2 жыл бұрын
Нахрена так быстро говорить? Чтобы что? ;( Если хотите кому-то научить, то надо именно учить, т.е. стараться сделать так чтоб у человека хоть небольшая возможность была подумать. А вы бегом бегом бегом и у человека возникает 100500 нажатий на Back чтоб ответить на вопрос "А верно ли я услышал, что ... ?"
@zproger
@zproger 2 жыл бұрын
Я об этом даже и не подумал, спасибо что подсказали, буду исправляться в след.видео 🙂
@ntvisigoth
@ntvisigoth 2 жыл бұрын
@@zproger Спасибо! То что вы стараетесь поделиться знаниями это круто, но очень хочется, чтоб у меня была возможность успевать за вами!Ведь если я пришел на ваш канал,то меня очень волнует та тема, которую вы хотите передать мне. В качестве примера того, как можно доносить информацию программисту программистам можно взять и послушать, здесь в Ютубе курс про асинхронность от Олега Молчанова. Парень очень круто и метко доносит идеи. Используется там где надо паузы, чтоб слушатель чуть чуть подумал. Где-то останавливается и поясняет, что именно он делает. Там где надо указывает источники про использованию того или иного метода или библиотеки.
@zproger
@zproger 2 жыл бұрын
Попробую изучить его подход, спасибо. Я и сам когда-то учился по его видео и они были реально эффективными)
@master8920
@master8920 2 жыл бұрын
KZfaq имеет функцию скорости видео можно на 0.75, 0.5 поставить и будешь успевать )
@QwDragon
@QwDragon Жыл бұрын
Нормально он всё говорит. Гораздо приятнее слушать, чем тех, кто вместо 10-минутного ролика делает часовой.
How many pencils can hold me up?
00:40
A4
Рет қаралды 18 МЛН
Bro be careful where you drop the ball  #learnfromkhaby  #comedy
00:19
Khaby. Lame
Рет қаралды 45 МЛН
어른의 힘으로만 할 수 있는 버블티 마시는법
00:15
진영민yeongmin
Рет қаралды 9 МЛН
Основы NumPy Python | Массивы, Матрицы И Операции Над Ними
38:26
PyLounge - программирование на Python и всё о IT
Рет қаралды 100 М.
Python для ЕГЭ. Массивы с нуля. Снова цикл for и работа с массивами.
11:56
How to work with arrays in Python
10:13
Изучаем мир ИТ / Олег Шпагин / Программирование
Рет қаралды 24 М.
10 признаков того, что вы новичок в Python
4:59
ПРОГРАММИРОВАНИЕ НА PYTHON | Урок 5 | Одномерные массивы.
17:58
Онлайн-школа подготовки к ЕГЭ / Альтед
Рет қаралды 6 М.
How many pencils can hold me up?
00:40
A4
Рет қаралды 18 МЛН