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

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

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

Ссылка на канал: @HowTo_WebDev
Download Telegram
🧾 Длина списка в Python

Как узнать длину списка? Есть два варианта, можно просто посчитать количество элементов, но есть способ проще, функция len.

Функция len возвращает длину любой итерируемой переменной, переменной, по которой можно запустить цикл.

Например:

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
print(len(fruits))

>>> 5

numbers = [40, 20, 90]
print(len(numbers))

>>> 3

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Срезы в Python

Срезом
называется некоторая подпоследовательность. Принцип действия срезов очень прост: мы "отрезаем" кусок от исходной последовательности элемента, не меняя её при этом. Срезы могут работать не только со списками, но и с другими итерируемыми типами данных, например со строками.

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
part_of_fruits = fruits[0:3]
print(part_of_fruits)

>>> ['Apple', 'Grape', 'Peach']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript

В JavaScript любые текстовые данные являются строками. Не существует отдельного типа «символ», который есть в ряде других языков. Внутренний формат для строк — всё время UTF-16, вне зависимости от кодировки страницы.

Кавычки.

В JavaScript существуют различные типы кавычек.

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

let single = 'single-quoted';
let double = "double-quoted";

let backticks = `backticks`;

Одинарные
и двойные кавычки работают одинаково, а если использовать обратные кавычки, то в такую строку мы сможем вставлять произвольные выражения, обернув их в ${…}:

let guestList = `Guests:
* John
* Pete
* Mary
`;

alert(guestList); // список гостей, состоящий из нескольких строк

📋
#Код
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript (часть 2)

В прошлый раз мы говорили о строках и кавычках в JavaScript. Теперь поговорим про спецсимволы.

Многострочные строки также можно создавать с помощью одинарных и двойных кавычек, используя так называемый «символ перевода строки», который записывается как \n:

let guestList = "Guests:\n * John\n * Pete\n * Mary";

alert(guestList); // список гостей, состоящий из нескольких строк

Эти две строки эквивалентны, просто записаны по-разному:

// перевод строки добавлен с помощью символа перевода строки
let str1 = "Hello\nWorld";

// многострочная строка, созданная с использованием обратных кавычек
let str2 =
Hello
World
;

alert(str1 == str2); // true

📋 #Код
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript (финал)

Продолжение
прошлой части про спецсимвовы. Сейчас мы рассмотрим другие, реже используемые спецсимволы:

\nперевод строки.

\r – в текстовых файлах Windows для перевода строки используется комбинация символов \r\n, а на других ОС это просто \n.

\', \"кавычки.

\\обратный слеш.

\tзнак табуляции.

\b, \f, \vBackspace, Form Feed и Vertical Tab оставлены для обратной совместимости, на данный момент не используются.

\xXX – символ с шестнадцатеричным Юникодным кодом XX.

\uXXXX – символ в кодировке UTF-16 с шестнадцатеричным кодом XXXX.

\u{X…XXXXXX} (от 1 до 6 шестнадцатеричных цифр) – символ в кодировке UTF-32 с шестнадцатеричным кодом от U+0000 до U+10FFFF. Некоторые редкие символы кодируются двумя 16-битными словами и занимают 4 байта. Так можно вставлять символы с длинным кодом.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Операция in в Python

С помощью in можно проверить наличие элемента в списке, строке и любой другой итерируемой переменной.

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

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
if 'Apple' in fruits:
print('В списке есть элемент Apple')

>>> В списке есть элемент Apple

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
if 'Lemon' in fruits:
print('В списке есть элемент Lemon')
else:'
print('В списке НЕТ элемента Lemon')

>>> В списке НЕТ элемента Lemon

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод 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