Программирование на Python3 с PyQt5 - страница 5



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'}