How To WebDev
2.41K subscribers
8 photos
1 video
325 links
Заявки принимаются моментально!

Обучаем фронтентду и бекенду просто и понятно!

Сотрудничество: @me_Smith

Ссылка на канал: @HowTo_WebDev
Download Telegram
🧾 Метод append в Python

Данный метод добавляет элемент в конец списка:

# Создаем список, состоящий из четных чисел от 0 до 8 включительно
numbers = list(range(0,10,2))
# Добавляем число 200 в конец списка
numbers.append(200)
numbers.append(1)
numbers.append(2)
numbers.append(3)
print(numbers)

>>> [0, 2, 4, 6, 8, 200, 1, 2, 3]

Методу append можно передавать абсолютно любые значения:

all_types = [10, 3.14, 'Python', ['I', 'am', 'list']]
all_types.append(1024)
all_types.append('Hello world!')
all_types.append([1, 2, 3])
print(all_types)

>>> [10, 3.14, 'Python', ['I', 'am', 'list'], 1024, 'Hello world!', [1, 2, 3]]

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод insert в Python

Этот метод добавляет элемент в список на произ­вольную позицию. Insert принимает в качестве первого аргу­мента позицию, на которую нужно вставить элемент, а вторымсам элемент.

Приведём пример:

# Создадим список чисел от 0 до 9
numbers = list(range(10))
# Добавление элемента 999 на позицию с индексом 0
numbers.insert(0, 999)
print(numbers) # первый print
numbers.insert(2, 1024)
print(numbers) # второй print
numbers.insert(5, 'Засланная строка-шпион')
print(numbers) # третий print

>>> [999, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # первый print
>>> [999, 0, 1024, 1, 2, 3, 4, 5, 6, 7, 8, 9] # второй print
>>> [999, 0, 1024, 1, 2, 'Засланная строка-шпион', 3, 4, 5, 6, 7, 8, 9] # третий print

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в JavaScript

Javascript поддерживает два вида структуры "массив":

1. Ассоциативный массив (хеш), где данные хранятся по произвольному ключу.

2. Числовой массив Array, где данные хранятся по номерам.

Javascript - очень гибкий язык, поэтому технически в Array можно хранить произвольные ключи, как в Object. Но желательно использовать типы по назначению.

Для хранения данных по номеру предназначен тип Array. В типе Array есть специальные методы, ориентированные именно на работу с числовыми ключами.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Создание и изменение массива в JavaScript

Есть два способа создания массива:

var a = new Array()
var a = []

Или же сразу со значениями:

var a = new Array("a", 1, true)
var a = ["a", 1, true]

Эти способы работают одинаково, кроме объявления вида new Array(10), когда у конструктора есть единственный аргумент-число.

Такое объявление создаст пустой массив (все элементы undefined) длиной 10. По возможности, не надо использовать new Array.

Отсчет элементов начинается с нуля:

alert(a[0]) // => "a"

Массив хранит данные по численным ключам, но внутри он использует точно такой же хэш (ту же структуру данных), как и обычный объект, поэтому можно сделать так:

var a = []
a[1] = 1
a[999999] = 2

И массив будет занимать память, нужную для хранения этих двух соответствий.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Методы pop/push, shift/unshift в JavaScript

Очередь
– один из самых распространённых вариантов применения массива. В области компьютерных наук так называется упорядоченная коллекция элементов, поддерживающая два вида операций:

Push добавляет элемент в конец.

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

Массивы поддерживают обе операции. На практике необходимость в этом возникает очень часто. Например, очередь сообщений, которые надо показать на экране.

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

Она поддерживает два вида операций:

Push добавляет элемент в конец.

Pop удаляет последний элемент.

Таким образом, новые элементы всегда добавляются или удаляются из «конца». Массивы в JavaScript могут работать и как очередь, и как стек. Можно добавлять/удалять элементы как в начало, так и в конец массива.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Методы, работающие с концом массива

С концом массива работает метод pop и push. Он удаляет последний элемент из массива и возвращает его:

let fruits = ["Яблоко", "Апельсин", "Груша"];

alert( fruits.pop() ); // удаляем "Груша" и выводим его

alert( fruits ); // Яблоко, Апельсин

И fruits.pop() и fruits.at(-1) возвращают последний элемент массива, но fruits.pop() также изменяет массив, удаляя его.

Метод push добавляет элемент в конец массива:

let fruits = ["Яблоко", "Апельсин"];

fruits.push("Груша");

alert( fruits ); // Яблоко, Апельсин, Груша

Вызов fruits.push(...) равнозначен fruits[fruits.length] = ....

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод pop в Python

Данный метод удаляет элемент из списка по его индексу.

Приведëм пример:

numbers = list(range(10))
print(numbers) # 1
# Удаляем первый элемент
numbers.pop(0)
print(numbers) # 2
numbers.pop(0)
print(numbers) # 3
numbers.pop(2)
print(numbers) # 4
# Чтобы удалить последний элемент, вызовем метод pop без аргументов
numbers.pop()
print(numbers) # 5
numbers.pop()
print(numbers) # 6

>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 1
>>> [1, 2, 3, 4, 5, 6, 7, 8, 9] # 2
>>> [2, 3, 4, 5, 6, 7, 8, 9] # 3
>>> [2, 3, 5, 6, 7, 8, 9] # 4
>>> [2, 3, 5, 6, 7, 8] # 5
>>> [2, 3, 5, 6, 7] # 6

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод remove в Python

Метод remove удаляет пер­вый найденный по значению элемент в списке.

Рассмотрим пример использования:

all_types = [10, 'Python', 10, 3.14, 'Python', ['I', 'am', 'list']]
all_types.remove(3.14)
print(all_types) # 1
all_types.remove(10)
print(all_types) # 2
all_types.remove('Python')
print(all_types) # 3

>>> [10, 'Python', 10, 'Python', ['I', 'am', 'list']] # 1
>>> ['Python', 10, 'Python', ['I', 'am', 'list']] # 2
>>> [10, 'Python', ['I', 'am', 'list']] # 3

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод count в Python

Метод count считает элементы списка.

Пример использования:

numbers = [100, 100, 100, 200, 200, 500, 500, 500, 500, 500, 999]
print(numbers.count(100)) # 1
print(numbers.count(200)) # 2
print(numbers.count(500)) # 3
print(numbers.count(999)) # 4

>>> 3 # 1
>>> 2 # 2
>>> 5 # 3
>>> 1 # 4


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод sort в Python

Метод sort сортирует список по возрастанию значений его элементов.

Рассмотрим пример:

numbers = [100, 2, 11, 9, 3, 1024, 567, 78]
numbers.sort()
print(numbers) # 1
fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.sort()
print(fruits) # 2

>>> [2, 3, 9, 11, 78, 100, 567, 1024] # 1
>>> ['Apple', 'Banan', 'Grape', 'Orange', 'Peach'] # 2


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Методы, работающие с началом массива в JavaScript

С началом массива работают методы shift и unshift.

Shift удаляет из массива первый элемент и возвращает его:

let fruits = ["Яблоко", "Апельсин", "Груша"];

alert( fruits.shift() ); // удаляем Яблоко и выводим его

alert( fruits ); // Апельсин, Груша

Unshift добавляет элемент в начало массива:

let fruits = ["Апельсин", "Груша"];

fruits.unshift('Яблоко');

alert( fruits ); // Яблоко, Апельсин, Груша


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 1)

Массив – это особый подвид объектов. Квадратные скобки, используемые для того, чтобы получить доступ к свойству arr[0] – это по сути обычный синтаксис доступа по ключу, как obj[key], где в роли obj у нас arr, а в качестве ключачисловой индекс.

Массивы расширяют объекты, так как предусматривают специальные методы для работы с упорядоченными коллекциями данных, а также свойство length. Но в основе всё равно лежит объект.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод reverse в Python (часть 1)

Параметр reverse используется для изменения порядка сортировки. По умол­чанию этот параметр равен False.

Рассмотрим пример:

fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.sort()
print(fruits) # 1
fruits.sort(reverse=True)
print(fruits) # 2

>>> ['Apple', 'Banan', 'Grape', 'Orange', 'Peach'] # 1
>>> ['Peach', 'Orange', 'Grape', 'Banan', 'Apple'] # 2

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод reverse в Python (часть 2)

Также метод reverse используют для переворота списка.

Пример использования:

numbers = [100, 2, 11, 9, 3, 1024, 567, 78]
numbers.reverse()
print(numbers) # 1
fruits = ['Orange', 'Grape', 'Peach', 'Banan', 'Apple']
fruits.reverse()
print(fruits) # 2

>>> [78, 567, 1024, 3, 9, 11, 2, 100] # 1
>>> ['Apple', 'Banan', 'Peach', 'Grape', 'Orange'] # 2

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод extend в Python

Для объединения двух списков в Python есть полез­ный метод extend.

Этот метод вызы­вается для одного списка, а в качестве аргу­мента ему пере­дается другой список, extend запи­сывает в конец первого из них начало вто­рого:

fruits = ['Banana', 'Apple', 'Grape']
vegetables = ['Tomato', 'Cucumber', 'Potato', 'Carrot']
fruits.extend(vegetables)
print(fruits)

>>> ['Banana', 'Apple', 'Grape', 'Tomato', 'Cucumber', 'Potato', 'Carrot']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод clear в Python

В Python для очистки списков используется специальный метод clear.

fruits = ['Banana', 'Apple', 'Grape']
vegetables = ['Tomato', 'Cucumber', 'Potato', 'Carrot']
fruits.clear()
vegetables.clear()
print(fruits)
print(vegetables)

>>> [ ]
>>> [ ]

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод index в Python

Метод index возв­ращает индекс эле­мента. Вы пере­даете в качестве аргу­мента в index значение элемента, а метод возв­ращает его индекс:

fruits = ['Banana', 'Apple', 'Grape']
print(fruits.index('Apple'))
print(fruits.index('Banana'))
print(fruits.index('Grape'))
>>> 1
>>> 0
>>> 2


📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (часть 1)

Этот метод копирует список и возвращает его брата-близнеца.

Если мы просто присвоим уже существующий список новой переменной, то на первый взгляд всё выглядит неплохо:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits
print(fruits)
print(new_fruits)

>>> ['Banana', 'Apple', 'Grape']
>>> ['Banana', 'Apple', 'Grape']

Но есть одно но, при прямом присваивании спис­ков копи­рования не проис­ходит:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits
fruits.pop()
print(fruits)
print(new_fruits)

# Внезапно, из списка new_fruits исчез последний элемент
>>> ['Banana', 'Apple']
>>> ['Banana', 'Apple']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (часть 2)

Когда при прямом присваивании спис­ков копи­рования не проис­ходит, то обе пере­менные начи­нают ссылаться на один и тот же список. То есть, если мы изме­ним один из них, то изме­нится и другой.

Исправить ситуацию поможет этот же методcopy:

fruits = ['Banana', 'Apple', 'Grape']
new_fruits = fruits.copy()
fruits.pop()
print(fruits)
print(new_fruits)

>>> ['Banana', 'Apple']
>>> ['Banana', 'Apple', 'Grape']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод copy в Python (финал)

Но если у нас список в списке, то внутренний список с помощью метода copy не скопируется:

fruits = ['Banana', 'Apple', 'Grape', ['Orange','Peach']]
new_fruits = fruits.copy()
fruits[-1].pop()
print(fruits) # 1
print(new_fruits) # 2

>>> ['Banana', 'Apple', 'Grape', ['Orange']] # 1
>>> ['Banana', 'Apple', 'Grape', ['Orange']] # 2

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev