Задача на структуры данных python

5. Структуры данных

Структуры данных — это важный элемент программирования, требуемый для написания более сложных программ. В этом материале будут примеры, которые наглядно продемонстрируют особенности структур данных, объяснят примеры присваивания и инициализации.

Инициализировать список, кортеж и словарь можно несколькими способами. Один из наиболее распространенных — присвоить соответствующие символы переменной. Для списка эти символы — [] , для кортежа — () , а для словаря — <> . Если присвоить эти символы без значений внутри, то будут созданы соответствующие пустые структуры данных.

Функции, которые будут использоваться дальше, являются альтернативными способами создания списков, кортежей и словарей. Их необязательно знать, но лучше запомнить, ведь они могут встретиться в коде других разработчиков.

Где используется

Структуры данных используются во всех аспектах программирования.

  • Списки: содержат значения. Ими могут быть числа, строки, имена и так далее:
    • Модели автомобилей;
    • Имена собак;
    • Посещенные страны;
    • Посетители магазина и так далее;
    • Все месяцы года;
    • Дисциплины Олимпийских игр;
    • Штаты США;
      Важно только отметить, что кортежи не являются вообще неизменяемыми, ведь вы всегда можете переписать код, поменяв или удалив определенные значения. Речь идет о том, что значения не могут быть изменены после создания — во время работы программы.
    • Словари — это пары из ключа и значения. Словари также являются изменяемыми. Это удобная структура данных, которая подходит для сохранения значения с определенными дополнительными параметрами, например:
      • Данные клиента включая список его покупок
      • Названия стран + их количество олимпийских медалей
      • Автомобильные бренды и их модели
      • Страны с количеством ДТП с летальным исходом

      Рекомендации по работе со структурами данных

      1. List(), dict() и float() используют круглые скобки, потому что они являются функциями;
      2. Скобки сами по себе представляют кортеж, и их не стоит путать со скобками в функциях, например, list();
      3. При создании пустого списка нужно использовать квадратные, а не круглые скобки: [] .

      Функция №1: list()

      У функции list() очень простой сценарий применения.

      C помощью скобок создается список. После этого выводится переменная с присвоенным ей пустым списком. Выводится «[]», что указывает пусть и на пустой, но список. После этого выводится подтверждение того, что это действительно список.

      Источник

      Python: структуры данных — упражнения, практика, решение

      1. Напишите программу на Python для создания объекта Enum и отображения имени и значения члена. Перейти к редактору
      Пример данных :
      Афганистан = 93
      Албания = 355
      Алжир = 213
      Андорра = 376
      Ангола = 244
      Антарктида = 672
      Ожидаемый результат:
      Имя участника: Албания
      Значение члена: 355
      Нажмите меня, чтобы увидеть образец решения

      2. Напишите программу на Python для перебора класса enum и отображения отдельного члена и его значения. Перейти к редактору
      Ожидаемый результат:
      Афганистан = 93
      Албания = 355
      Алжир = 213
      Андорра = 376
      Ангола = 244
      Антарктида = 672
      Нажмите меня, чтобы увидеть образец решения

      3. Напишите программу на Python для отображения всех имен членов перечислимого класса в порядке их значений. Перейти к редактору
      Ожидаемый результат:
      Название страны упорядочено по коду страны:
      Афганистан
      Алжир
      Ангола
      Албания
      андорра
      Антарктида
      Нажмите меня, чтобы увидеть образец решения

      4. Напишите программу на Python, чтобы получить все значения из класса enum. Перейти к редактору
      Ожидаемый результат:
      [93, 355, 213, 376, 244, 672]
      Нажмите меня, чтобы увидеть образец решения

      5. Напишите программу на Python для подсчета наиболее распространенных слов в словаре. Перейти к редактору
      Ожидаемый результат:
      [(«розовый», 6), («черный», 5), («белый», 5), («красный», 4)]
      Нажмите меня, чтобы увидеть образец решения

      6. Напишите программу на Python, чтобы найти номер класса мудрого броска из набора кортежей. Перейти к редактору
      Ожидаемый результат:
      defaultdict ( , )
      Нажмите меня, чтобы увидеть образец решения

      7. Напишите программу на Python для подсчета количества учеников отдельного класса. Перейти к редактору
      Пример данных:
      классы = (
      («V», 1),
      («VI», 1),
      («V», 2),
      («VI», 2),
      («VI», 3),
      («VII», 1),
      )
      Ожидаемый результат:
      Счетчик ()
      Нажмите меня, чтобы увидеть образец решения

      8. Напишите программу на Python, чтобы получить уникальные значения перечисления. Перейти к редактору
      Ожидаемый результат:
      Афганистан = 93
      Албания = 355
      Алжир = 213
      Андорра = 376
      Ангола = 244
      Нажмите меня, чтобы увидеть образец решения

      9. Напишите программу на Python для создания экземпляра OrderedDict с использованием заданного словаря. Сортируйте словарь во время создания и печатайте элементы словаря в обратном порядке. Перейти к редактору
      Ожидаемый результат:
      Ангола 244
      Андорра 376
      Алжир 213
      Афганистан 93
      Албания 355
      В обратном порядке:
      Албания 355
      Афганистан 93
      Алжир 213
      Андорра 376
      Ангола 244
      Нажмите меня, чтобы увидеть образец решения

      10. Напишите программу на Python, чтобы сгруппировать последовательность пар ключ-значение в словарь списков. Перейти к редактору
      Ожидаемый результат:
      [(‘v’, [1, 3]), (‘vi’, [2, 4]), (‘vii’, [1])]
      Нажмите меня, чтобы увидеть образец решения

      11. Напишите программу на Python для сравнения двух неупорядоченных списков (не наборов). Перейти к редактору
      Ожидаемый результат: Ложь
      Нажмите меня, чтобы увидеть образец решения

      12. Напишите программу на Python для создания массива, содержащего шесть целых чисел. Также выведите все элементы массива. Перейти к редактору
      Ожидаемый результат:
      10
      20
      30
      40
      50
      Нажмите меня, чтобы увидеть образец решения

      13. Напишите программу на Python, чтобы получить размер массива типов unsigned integer и float. Перейти к редактору
      Ожидаемый результат:
      4
      4
      Нажмите меня, чтобы увидеть образец решения

      14. Напишите программу на Python для получения информации о буфере массива. Перейти к редактору
      Ожидаемый результат:
      Начальный адрес буфера массива в памяти и количество элементов.
      (25855056, 2)
      Нажмите меня, чтобы увидеть образец решения

      15. Напишите программу на Python, чтобы получить длину массива. Перейти к редактору
      Ожидаемый результат:
      Длина массива составляет:
      5
      Нажмите меня, чтобы увидеть образец решения

      16. Напишите программу на Python для преобразования массива в обычный список с теми же элементами. Перейти к редактору
      Ожидаемый результат:
      Исходный массив:
      массив (‘b’, [1, 2, 3, 4])
      Массив к списку:
      [1, 2, 3, 4]
      Нажмите меня, чтобы увидеть образец решения

      17. Напишите программу на Python для преобразования массива в массив машинных значений и возврата байтового представления. Перейти к редактору
      Ожидаемый результат:
      Исходный массив:
      A1: массив (‘i’, [1, 2, 3, 4, 5, 6])
      Массив байтов: b’010000000200000003000000040000000500000006000000 ‘
      Нажмите меня, чтобы увидеть образец решения

      18. Напишите программу на Python для чтения строки и интерпретации строки как массива машинных значений. Перейти к редактору
      Ожидаемый результат:
      массив1: массив (‘i’, [7, 8, 9, 10])
      Байты: b’0700000008000000090000000a000000 ‘
      массив2: массив (‘i’, [7, 8, 9, 10])
      Нажмите меня, чтобы увидеть образец решения

      19. Напишите программу на Python для вставки трех элементов в кучу и распечатки элементов из кучи. Перейти к редактору
      Ожидаемый результат:
      (‘V’, 1)
      («V», 2)
      («V», 3)
      Нажмите меня, чтобы увидеть образец решения

      20. Напишите программу на Python, чтобы поместить три элемента в кучу и вернуть самый маленький элемент из кучи. Также поп и вернуть самый маленький предмет из кучи. Перейти к редактору
      Ожидаемый результат:
      Предметы в куче:
      (‘V’, 1)
      («V», 3)
      («V», 2)
      ———————-
      Самый маленький предмет в куче:
      (‘V’, 1)
      ———————-
      Поместите наименьший предмет в кучу:
      («V», 2)
      («V», 3)
      Нажмите меня, чтобы увидеть образец решения

      21. Напишите программу на Python, чтобы поместить элемент в кучу, затем вытолкнуть и вернуть наименьший элемент из кучи. Перейти к редактору
      Ожидаемый результат:
      Предметы в куче:
      (‘V’, 1)
      («V», 3)
      («V», 2)
      ———————-
      Используя heappushpop, нажмите на элемент в куче и верните самый маленький элемент.
      («V», 2)
      («V», 3)
      («V», 6)
      Нажмите меня, чтобы увидеть образец решения

      22. Напишите программу на Python для создания heapsort, помещая все значения в кучу, а затем выталкивая наименьшие значения по одному. Перейти к редактору
      Ожидаемый результат:
      [10, 20, 20, 40, 50, 50, 60, 70, 80, 90, 100]
      Нажмите меня, чтобы увидеть образец решения

      23. Напишите программу на Python, чтобы получить два самых больших и три самых маленьких элемента из набора данных. Перейти к редактору
      Ожидаемый результат:
      [100, 90]
      [10, 20, 20]
      Нажмите меня, чтобы увидеть образец решения

      24. Напишите программу на Python, чтобы найти левую точку вставки для указанного значения в отсортированном порядке. Перейти к редактору
      Ожидаемый результат:
      4
      2
      Нажмите меня, чтобы увидеть образец решения

      25. Напишите программу на Python, чтобы найти правильную точку вставки для указанного значения в отсортированном порядке. Перейти к редактору
      Ожидаемый результат:
      3
      2
      Нажмите меня, чтобы увидеть образец решения

      26. Напишите программу на Python для вставки элементов в список в отсортированном порядке. Перейти к редактору
      Ожидаемый результат:
      Оригинальный список:
      [25, 45, 36, 47, 69, 48, 68, 78, 14, 36]
      Сортированный список:
      [14, 25, 36, 36, 45, 47, 48, 68, 69, 78]
      Нажмите меня, чтобы увидеть образец решения

      27. Python-программа для создания очереди и отображения всех членов и размера очереди. Перейти к редактору
      Ожидаемый результат:
      Члены очереди:
      0 1 2 3
      Размер очереди:
      4
      Нажмите меня, чтобы увидеть образец решения

      28. Напишите программу на Python, чтобы определить, пуста очередь или нет. Перейти к редактору
      Ожидаемый результат:
      Правда
      Ложь
      Нажмите меня, чтобы увидеть образец решения

      29. Напишите программу на Python для создания очереди FIFO. Перейти к редактору
      Ожидаемый результат:
      0 1 2 3
      Нажмите меня, чтобы увидеть образец решения

      30. Напишите программу на Python для создания очереди LIFO. Перейти к редактору
      Ожидаемый результат:
      3 2 1 0
      Нажмите меня, чтобы увидеть образец решения

      Редактор кода Python:

      Еще не все !

      Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.

      Источник

      Читайте также:  Html тег вставки гиперссылки
Оцените статью