🧾 Метод 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
Данный метод удаляет элемент из списка по его индексу.
Приведëм пример:
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
Метод 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
Метод 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
Метод 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
С началом массива работают методы 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
Массив – это особый подвид объектов. Квадратные скобки, используемые для того, чтобы получить доступ к свойству 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 используется для изменения порядка сортировки. По умолчанию этот параметр равен 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
Также метод 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
Для объединения двух списков в 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
В 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
Метод 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
Этот метод копирует список и возвращает его брата-близнеца.
Если мы просто присвоим уже существующий список новой переменной, то на первый взгляд всё выглядит неплохо:
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:
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
Но если у нас список в списке, то внутренний список с помощью метода 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
🧾 Что такое фронтенд и бэкенд? (часть 1)
Фронтенд веб-сайта — это все, что пользователь видит и с чем он может взаимодействовать при помощи браузера. Создание этой визуальной части называется фронтенд-разработкой.
Для разработки фронтенда в основе базовых инструментов используются: HTML (для создания базовой структуры страниц и контента), CSS (для стилизации внешнего вида) и JavaScript (для добавления интерактивности).
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
Фронтенд веб-сайта — это все, что пользователь видит и с чем он может взаимодействовать при помощи браузера. Создание этой визуальной части называется фронтенд-разработкой.
Для разработки фронтенда в основе базовых инструментов используются: HTML (для создания базовой структуры страниц и контента), CSS (для стилизации внешнего вида) и JavaScript (для добавления интерактивности).
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Что такое фронтенд и бэкенд? (часть 2)
Бэкенд — это серверная часть веб-приложения, скрытая от глаз пользователя. Она включает в себя серверы, на которых расположены веб-страницы и определенную логику, которая управляет функциями и процессами сайта.
Для разработки бэкенд используют: Java, PHP, Ruby, C# и JavaScript.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
Бэкенд — это серверная часть веб-приложения, скрытая от глаз пользователя. Она включает в себя серверы, на которых расположены веб-страницы и определенную логику, которая управляет функциями и процессами сайта.
Для разработки бэкенд используют: Java, PHP, Ruby, C# и JavaScript.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Полезные материалы по фронтенду (часть 1)
К таким сервисам относится MDM. Данный ресурс предоставляет информацию обо всех открытых стандартах в веб-технологиях. Этот справочник будет полезен, когда нужно решить проблему и желательно его использовать по требованию.
Все материалы на этом сайте – труд разработчиков со всего мира. Каждый может поучаствовать в расширении базы знаний, в добавлении новой информации.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
К таким сервисам относится MDM. Данный ресурс предоставляет информацию обо всех открытых стандартах в веб-технологиях. Этот справочник будет полезен, когда нужно решить проблему и желательно его использовать по требованию.
Все материалы на этом сайте – труд разработчиков со всего мира. Каждый может поучаствовать в расширении базы знаний, в добавлении новой информации.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Полезные материалы по фронтенду (часть 2)
Coolors – это веб-приложение предназначено для выбора подходящей цветовой палитры. После регистрации можно сохранять готовые палитры в таких форматах, как PDF, PNG, SCSS, SVG, или же просто копировать ссылку и пересылать результат.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
Coolors – это веб-приложение предназначено для выбора подходящей цветовой палитры. После регистрации можно сохранять готовые палитры в таких форматах, как PDF, PNG, SCSS, SVG, или же просто копировать ссылку и пересылать результат.
📋 #Frontend
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 2)
В JavaScript массив является объектом и ведёт себя как объект.
Например, копируется по ссылке:
let fruits = ["Банан"]
let arr = fruits; // копируется по ссылке (две переменные ссылаются на один и тот же массив)
alert( arr === fruits ); // true
arr.push("Груша"); // массив меняется по ссылке
alert( fruits ); // Банан, Груша - теперь два элемента
📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
В JavaScript массив является объектом и ведёт себя как объект.
Например, копируется по ссылке:
let fruits = ["Банан"]
let arr = fruits; // копируется по ссылке (две переменные ссылаются на один и тот же массив)
alert( arr === fruits ); // true
arr.push("Груша"); // массив меняется по ссылке
alert( fruits ); // Банан, Груша - теперь два элемента
📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Внутреннее устройство массива (часть 3)
Движок JavaScript старается хранить элементы массива в непрерывной области памяти, один за другим. Существуют и другие способы оптимизации, благодаря которым массивы работают очень быстро.
Но все они утратят эффективность, если мы перестанем работать с массивом как с «упорядоченной коллекцией данных» и начнём использовать его как обычный объект.
Например, технически мы можем сделать следующее:
let fruits = []; // создаём массив
fruits[99999] = 5; // создаём свойство с индексом, намного превышающим длину массива
fruits.age = 25; // создаём свойство с произвольным именем
Это возможно, потому что в основе массива лежит объект. Мы можем присвоить ему любые свойства.
Но движок поймёт, что мы работаем с массивом, как с обычным объектом. Способы оптимизации, используемые для массивов, в этом случае не подходят, поэтому они будут отключены и никакой выгоды не принесут.
📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
Движок JavaScript старается хранить элементы массива в непрерывной области памяти, один за другим. Существуют и другие способы оптимизации, благодаря которым массивы работают очень быстро.
Но все они утратят эффективность, если мы перестанем работать с массивом как с «упорядоченной коллекцией данных» и начнём использовать его как обычный объект.
Например, технически мы можем сделать следующее:
let fruits = []; // создаём массив
fruits[99999] = 5; // создаём свойство с индексом, намного превышающим длину массива
fruits.age = 25; // создаём свойство с произвольным именем
Это возможно, потому что в основе массива лежит объект. Мы можем присвоить ему любые свойства.
Но движок поймёт, что мы работаем с массивом, как с обычным объектом. Способы оптимизации, используемые для массивов, в этом случае не подходят, поэтому они будут отключены и никакой выгоды не принесут.
📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev