banner banner banner
Программирование на Python3 с PyQt5
Программирование на Python3 с PyQt5
Оценить:
Рейтинг: 2

Полная версия:

Программирование на Python3 с PyQt5

скачать книгу бесплатно


ЛЕКЦИЯ 4 – СПИСКИ, СЛОВАРИ, ЦИКЛЫ И МАССИВЫ

4.1 Списки и кортежи

Список представляет собой упорядоченную последовательность элементов. Он очень гибкий и является одним из самых используемых типов в Python. Элементы списка не обязательно должны быть одного типа.

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

a = [67, 5, 90, 20, 30]

b = ['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']

print(a)

print(b)

aa = a[:] # Автономная копия списка

aaa = list(a) # Автономная копия списка

aaaa = a.copy() # Автономная копия списка

aaa.reverse() # Сортировка списка в обратном порядке

print(a[0]) # Первый элемент 67

print(a[2]) # Третий элемент 90

print(b[1]) # второй элемент Ваня

b.append('Дима') # Добавление элемента в конец списка

print(b[-1]) # Печать последнего элемента Дима

a.sort() # Сортировка списка

print(a) # [5, 20, 30, 67, 90]

print(aa) # [67, 5, 90, 20, 30]

print(aaa) # [30, 20, 90, 5, 67]

print(aaaa) # [67, 5, 90, 20, 30]

[67, 5, 90, 20, 30]

['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']

67

90

Ваня

Дима

[5, 20, 30, 67, 90]

[67, 5, 90, 20, 30]

[30, 20, 90, 5, 67]

[67, 5, 90, 20, 30]

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

Для создания кортежа нужно поместить внутрь круглых скобок элементы, разделённые запятой:

t = (5, 'program', 1 + 3j)

print("t[0] =", t[0])

print("t[1] =", t[1])

print("t[2] =", t[2])

for i in t:

print(i, end=" – ")

t[0] = 5

t[1] = program

t[2] = (1+3j)

5 – program – (1+3j) –

Списки имеют большой набор функций:

• append , extend – добавление;

• insert – вставка;

• index – найти индекс первого вхождения конкретного элемента;

• count – подсчет повторов элемента;

• remove , del – удаление элемента;

• sort – сортировка;

• reverse – реверс;

• pop – извлечение элемента;

• len – длина списка;

• max – максимальный элемент;

• min – минимальный элемент;

• оператор in – проверка элемента на вхождение.

4.2 Словари

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

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

# Создадим пустой словарь Capitals

Capitals = dict()

# Заполним его несколькими значениями

Capitals['Russia'] = 'Moscow'

Capitals['Ukraine'] = 'Kiev'

Capitals['USA'] = 'Washington'

Countries = ['Russia', 'France', 'USA', 'Russia']

for country in Countries:

# Для каждой страны из списка проверим, есть ли она в словаре Capitals

if country in Capitals:

print('Столица страны ' + country + ': ' + Capitals[country])

else:

print('В базе нет страны c названием ' + country)

Столица страны Russia: Moscow

В базе нет страны c названием France

Столица страны USA: Washington

Столица страны Russia: Moscow

Методы словарей:

• clear() – очищает словарь;

• copy() – возвращает копию словаря;

• fromkeys(seq[, value]) – создает словарь с ключами из seq и значением value (по умолчанию None);

• get(key[, default]) – возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None);

• items() – возвращает пары (ключ, значение);

• keys() – возвращает ключи в словаре;

• pop(key[, default]) – удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение);

• popitem() – удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены;

• setdefault(key[, default]) – возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None);

• update([other]) – обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются. Возвращает None (не новый словарь!);

• values() – возвращает значения в словаре.

Countries = {'Russia': 'Moscow', 'Ukraine': 'Kiev', 'USA': 'Washington', 'Kazakhstan': 'Astana'}

print(Countries)

key1 = 'USA'

key2 = 'us'

if key1 in Countries:

del Countries[key1]

try:

del Countries[key2]

except KeyError:

print('Нет элемента с ключом "' + key2 + '" в словаре')

print(Countries)