День шестой 27,12,2023

Диапазоны range

Это типы последовательности.

Диапазон это упорядоченная неизменяемая последовательность элементов.

Диапазоны используются в циклах

my_range = range(7)
print(my_range)
#range(0, 7)

print(type(my_range))
#<class 'range'>

print(list(my_range))
#[0, 1, 2, 3, 4, 5, 6]

**В диапазоне задается начальное, конечное значение и шаг.** 
Пример:
my_range = range(7, 30, 3)
print(my_range)
#[7, 10, 13, 16, 19, 22, 25, 28]

Можно получать элемент диапазона по индексу:
my_range = range(7, 30, 3)
print(my_range[5])
#22

Методы диапазонов

Диапазоны в Python обладают некоторыми полезными методами:

  • start: Возвращает начальное значение диапазона.
  • stop: Возвращает конечное значение диапазона.
  • step: Возвращает шаг диапазона.
  • __contains__(value): Проверяет, содержит ли диапазон указанное значение.
  • __len__(): Возвращает длину диапазона.
  • __getitem__(index): Возвращает элемент диапазона по указанному индексу.

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

my_range = range(7, 30, 3)
print(my_range.start)
# 7

print(my_range.stop)
# 30

print(my_range.step)
# 3

print(22 in my_range)
# True

print(len(my_range))
# 8

print(my_range[5])
# 22

Встроенная функция zip

Объединение последовательностей в одну

frutis = ['banana', 'apple', 'lime']

quantities = [100, 101, 545]

frutis_qtys_zip = zip(frutis, quantities)
print(frutis_qtys_zip)
#<zip object at 0x0000024980AE2440>

frutis_qtys_list = list(frutis_qtys_zip)

print(frutis_qtys_list)
#[('banana', 100), ('apple', 101), ('lime', 545)] **получаем список кортежей

Конвертация zip объекта в словарь:**
frutis = ['banana', 'apple', 'lime']
quantities = [100, 101, 545]
frutis_qtys_zip = zip(frutis, quantities)
print(frutis_qtys_zip)

frutis_qtys_list = dict(frutis_qtys_zip)
print(frutis_qtys_list)
#{'banana': 100, 'apple': 101, 'lime': 545}

Переменная содержит ссылку на объект

Переменные могут ссылаться на один и тот же объект в пайтон