СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Кортежи, словари, списки в PYTHON

Категория: Информатика

Нажмите, чтобы узнать подробности

Данная презентация- отличное средство для изучения типов данных в Python. В ней есть подробная информация об основных типах данных в Python

Просмотр содержимого документа
«Кортежи, словари, списки в PYTHON»

Типы данных:  Кортежи, списки, словари Составила: Кадимова К.С.

Типы данных:

Кортежи, списки, словари

Составила: Кадимова К.С.

Списки Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).

Списки

  • Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
list('список') ['с', 'п', 'и', 'с', 'о', 'к'] " width="640"

1-й способ создания списка

  • С помощью встроенной функции List
  • Например:

list('список')

['с', 'п', 'и', 'с', 'о', 'к']

s = [] # Пустой список l = ['s', 'p', ['isok'], 2] s [] l ['s', 'p', ['isok'], 2]   Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего. " width="640"

2-й способ создания списка

  • Список можно создать и при помощи литерала:
  • s = [] # Пустой список
  • l = ['s', 'p', ['isok'], 2]
  • s
  • []
  • l
  • ['s', 'p', ['isok'], 2]

 

  • Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.
c = [c * 3 for c in 'list'] c ['lll', 'iii', 'sss', 'ttt'] " width="640"

3-й способ создания списка

  • это  генераторы списков . Генератор списков - способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл  for .
  • c = [c * 3 for c in 'list']
  • c
  • ['lll', 'iii', 'sss', 'ttt']
Таблица «методы списков» Метод list.append (x) Что делает Добавляет элемент в конец списка list.extend (L) Расширяет список list, добавляя в конец все элементы списка L list.insert (i, x) Вставляет на i-ый элемент значение x list.remove (x) Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует list.pop ([i]) list.index (x, [start [, end]]) Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end) list.count (x) Возвращает количество элементов со значением x list.sort ([key=функция]) Сортирует список на основе функции list.reverse () Разворачивает список list.copy () Поверхностная копия списка

Таблица «методы списков»

Метод

list.append (x)

Что делает

Добавляет элемент в конец списка

list.extend (L)

Расширяет список list, добавляя в конец все элементы списка L

list.insert (i, x)

Вставляет на i-ый элемент значение x

list.remove (x)

Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует

list.pop ([i])

list.index (x, [start [, end]])

Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент

Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)

list.count (x)

Возвращает количество элементов со значением x

list.sort ([key=функция])

Сортирует список на основе функции

list.reverse ()

Разворачивает список

list.copy ()

Поверхностная копия списка

a = [66.25, 333, 333, 1, 1234.5] print (a.count(333), a.count(66.25), a.count('x')) 2 1 0 a.insert(2, -1) a.append(333) a [66.25, 333, -1, 333, 1, 1234.5, 333] a.index(333) 1 a.remove(333) a [66.25, -1, 333, 1, 1234.5, 333] a.reverse() a [333, 1234.5, 1, 333, -1, 66.25] a.sort() a [-1, 1, 66.25, 333, 333, 1234.5] " width="640"

Примеры работы со списками

  • a = [66.25, 333, 333, 1, 1234.5]
  • print (a.count(333), a.count(66.25), a.count('x'))
  • 2 1 0
  • a.insert(2, -1)
  • a.append(333)
  • a
  • [66.25, 333, -1, 333, 1, 1234.5, 333]
  • a.index(333)
  • 1
  • a.remove(333)
  • a
  • [66.25, -1, 333, 1, 1234.5, 333]
  • a.reverse()
  • a
  • [333, 1234.5, 1, 333, -1, 66.25]
  • a.sort()
  • a
  • [-1, 1, 66.25, 333, 333, 1234.5]
a = (1, 2, 3, 4, 5, 6) b = [1, 2, 3, 4, 5, 6] a.__sizeof__() 36 b.__sizeof__() 44 " width="640"

Кортежи

  • Кортеж, по сути - неизменяемый  список .
  • Преимущества кортежей:
  • Кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
  • Меньший размер. 

a = (1, 2, 3, 4, 5, 6)

b = [1, 2, 3, 4, 5, 6]

a.__sizeof__()

36

b.__sizeof__()

44

a = tuple() # С помощью встроенной функции tuple() a () a = () # С помощью литерала кортежа a () " width="640"

Создание кортежа

  • Создаем пустой кортеж:
  • a = tuple() # С помощью встроенной функции tuple()
  • a
  • ()
  • a = () # С помощью литерала кортежа
  • a
  • ()
a = ('s') a 's' Стоп. Получилась строка. Но как же так? Мы же кортеж хотели! Как же нам кортеж получить? a = ('s', ) a ('s',) Заработало! Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция. Кстати, кортеж можно создать и так: a = 's', a ('s',) " width="640"

Создание кортежа

Создаем кортеж из одного элемента:

  • a = ('s')
  • a
  • 's'

Стоп. Получилась строка. Но как же так? Мы же кортеж хотели! Как же нам кортеж получить?

  • a = ('s', )
  • a
  • ('s',)

Заработало! Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция. Кстати, кортеж можно создать и так:

  • a = 's',
  • a
  • ('s',)
a = tuple('hello, world!') a ('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!') " width="640"

Создание кортежа

  • Ну и создать кортеж из итерируемого объекта можно с помощью функции tuple()
  • a = tuple('hello, world!')
  • a
  • ('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!')
Операции над кортежами Все  операции над списками , не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее. Например, гордость программистов на python - поменять местами значения двух переменных: a, b = b, a

Операции над кортежами

  • Все  операции над списками , не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.
  • Например, гордость программистов на python - поменять местами значения двух переменных:
  • a, b = b, a
Словари Словари в Python  - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами. Чтобы работать со словарём, его нужно создать. Создать его можно несколькими способами.

Словари

  • Словари в Python  - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
  • Чтобы работать со словарём, его нужно создать. Создать его можно несколькими способами.
d = {} d {} d = {'dict': 1, 'dictionary': 2} d {'dict': 1, 'dictionary': 2} " width="640"

Создание словаря

  • Во-первых, с помощью литерала:
  • d = {}
  • d
  • {}
  • d = {'dict': 1, 'dictionary': 2}
  • d
  • {'dict': 1, 'dictionary': 2}
d = dict(short='dict', long='dictionary') d {'short': 'dict', 'long': 'dictionary'} d = dict([(1, 1), (2, 4)]) d {1: 1, 2: 4} " width="640"

Создание словаря

  • Во-вторых, с помощью функции  dict :
  • d = dict(short='dict', long='dictionary')
  • d
  • {'short': 'dict', 'long': 'dictionary'}
  • d = dict([(1, 1), (2, 4)])
  • d
  • {1: 1, 2: 4}
d = dict.fromkeys(['a', 'b']) d {'a': None, 'b': None} d = dict.fromkeys(['a', 'b'], 100) d {'a': 100, 'b': 100} " width="640"

Создание словаря

  • В-третьих, с помощью метода fromkeys :

 

  • d = dict.fromkeys(['a', 'b'])
  • d
  • {'a': None, 'b': None}
  • d = dict.fromkeys(['a', 'b'], 100)
  • d
  • {'a': 100, 'b': 100}
d = {a: a ** 2 for a in range(7)} d {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36} " width="640"

Создание словаря

  • В-четвертых, с помощью генераторов словарей, которые очень похожи на  генераторы списков .
  • d = {a: a ** 2 for a in range(7)}
  • d
  • {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36}
d = {1: 2, 2: 4, 3: 9} d[1] 2 d[4] = 4 ** 2 d {1: 2, 2: 4, 3: 9, 4: 16} " width="640"
  • Теперь попробуем добавить записей в словарь:
  • d = {1: 2, 2: 4, 3: 9}
  • d[1]
  • 2
  • d[4] = 4 ** 2
  • d
  • {1: 2, 2: 4, 3: 9, 4: 16}
Методы словарей dict.clear () - очищает словарь. dict.copy () - возвращает копию словаря. classmethod  dict.fromkeys (seq[, value]) - создает словарь с ключами из seq и значением value (по умолчанию None). dict.get (key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None). dict.items () - возвращает пары (ключ, значение). dict.keys () - возвращает ключи в словаре. dict.pop (key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение). dict.popitem ( ) - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены. dict.setdefault (key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None).

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

  • dict.clear () - очищает словарь.
  • dict.copy () - возвращает копию словаря.
  • classmethod  dict.fromkeys (seq[, value]) - создает словарь с ключами из seq и значением value (по умолчанию None).
  • dict.get (key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None).
  • dict.items () - возвращает пары (ключ, значение).
  • dict.keys () - возвращает ключи в словаре.
  • dict.pop (key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение).
  • dict.popitem ( ) - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.
  • dict.setdefault (key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None).
Домашнее задание Знать материал лекции. Составить мини-код на языкеPython содержащий кортеж, список и словарь. Знать материал лекции. Составить мини-код на языкеPython содержащий кортеж, список и словарь.  

Домашнее задание

  • Знать материал лекции. Составить мини-код на языкеPython содержащий кортеж, список и словарь.
  • Знать материал лекции.
  • Составить мини-код на языкеPython содержащий кортеж, список и словарь.
  •  


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!