Выбрать главу

1 | my_list =[True, 786, 3.14, 'text', 70.2]

2 | second_list = [123, 'text']

3 |

4 | print my_list # Напечатает весь список

5 | print my_list[0] # Напечатает первый элемент списка

6 | print my_list[1:3] # Напечатает элементы списка со второго по третий

7 | print my_list[2:] # Напечатает элементы списка начиная с третьего

8 | print second_list * 2 # Напечатает удвоенный список

9 | print my_list + second_list # Напечатает объединенные списки

В результате вы увидите:

| [True, 786, 3.14, 'text', 70.2]

| True

| [786, 3.14]

| [3.14, 'text', 70.2]

| [123, 'text', 123, 'text']

| [True, 786, 3.14, 'text', 70.2, 123, 'text']

Кортежи в Python:

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

Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.

1 | my_tuple =(True, 786, 3.14, 'text', 70.2)

2 | second_tuple = (123, 'text')

3 |

4 | print my_tuple # Печатает весь кортеж

5 | print my_tuple[0] # Печатает первый элемент

6 | print second_tuple * 2 # Печатает удвоенный кортеж

7 | print my_tuple + second_tuple # Печатает объединенные кортежи

В результате вы получите:

| (True, 786, 3.14, 'text', 70.2)

| True

| (123, 'text', 123, 'text')

| (True, 786, 3.14, 'text', 70.2, 123, 'text')

При этом, следующие действия доступны для списков и недоступны для кортежей:

1 | my_list = ["Rome", 23, ["cat", "dog"], True, 3.14]

2 | my_tuple = ("Rome", 23, ["cat", "dog"], True, 3.14)

3 | my_list[0] = "Paris" # Замена значения первого элемента сработает для списка

4 | my_tuple[0] = "Paris" # Та же операция для кортежа вызовет ошибку

Словари в Python:

Словари в Python это неотсортированная колекция элементов, доступ к которым осуществляется по ключу. То есть, каждому ключу словаря соответствует определенное значение. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением - любой тип данных.

Пары ключ, значение словаря заключаются в фигурные скобки ( { } ). Есть несколько способов создания словарей:

1 | my_dict = { } # Создаем пустой словарь

2 | my_dict["country"] = "Mexico" # Присваиваем ключу country значение Mexico

3 | print my_dict["country"] # Выведет Mexico

4 |

5 | # Заполнение словаря при инициализации

6 | another_dict = {"number":23, 2: True, "my_list":[1, 2, 3]}

7 | print another_dict.keys() # Напечатает список всех ключей

8 | print another_dict.values() # Напечатает список всех значений

Данный код выведет следующее:

Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.

Сеты в Python:

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

Создать сеты можно следующими способами:

1 | # Создание пустого сета

2 | s = set()

3 | # Создание сета инициализацией

4 | s = {"hi", "bye"}

Для добавление элемента в сет используется метод add, для удаления - pop или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference - возвращает элементы сета отсутствующие в другом сете, intersection - наоборот, возвращает елементы сета присутствующие в другом сете.

Преобразование типов данных:

Иногда может возникнуть необходимость преобразовать один тип данных в другой. Для этого существуют специальные встроенные функции Python. Вот некоторые из них:

Функция

Описание

int(x [,base])

Преобразовывает х в целое число. Например, int(12.4) -> 12

long(x [,base] )

Преобразовывает х в long. Например, long(20) -> 20L

float(x)

Преобразовывает х в число с плавающей точкой. Например float(10) -> 10.0

complex(real [,imag])

Создает комплексное число. Например complex(20) -> (20+0j)

str(x)

Преобразовывает х в строку. Например str(10) -> '10'

tuple(s)

Преобразовывает s в кортеж. Например tuple("hello") -> ( "h","e","l","l","o" )