1. Теоретический материал
| В Python списки используются для хранения данных и позволяют получать доступ к ним по индексу (их порядковому номеру). Другими словами списки в Python реализуют такую структуру данных как массивы, но добавляют и некоторые специфические для себя операции.
A = [] # пустой список
B = [1, 1, 2, 3, 5, 8, 13, 21] # числа Фибоначчи
C = ["мама", 120, 'z', "список"] # смешанный список
D = [[1, 2], ['a', 'b', 'c'], [[3.14, "abc"], [120, 140]]] # список списков
К элементам списка можно обращаться через индексы, которые начинаются с нуля. В отличии от строк, элементы списков можно заменять:
A = [1, 2, 3]
A[1] = "новое значение"
print(A)
Для работы со списками существует большое количество методов. Вот основные: Метод
| Описание
| list.append(x)
| добавляет элемент в конец списка
| list.insert(i, x)
| вставляет на i-ый элемент значение x
| list.count(x)
| возвращает количество элементов со значением x
| list.reverse()
| разворачивает список
| list.clear()
| очищает список
|
В Python есть неизменяемый аналог рассмотренного выше списка: кортежи. За счёт неизменяемости интерпретатор Python работает с кортежами эффективнее. Создать кортеж можно следующим образом:
A = (“Ivanov", “Ivan", 1988)
Surname, Name, Date = A
print(Surname + " " + Name + " " + Date.__str__())
|
2. Пример
| Задача:
|
| Заполните список 20 случайными числами.
| Решение (код программы):
|
| import random
a = []
for i in range(1,21):
a.append(random.randint(5,10))
print(a)
|
Задача:
|
| Напишите программу, которая запрашивает с ввода восемь чисел, добавляет их в список. На экран выводит их сумму, максимальное и минимальное из них. Для нахождения суммы, максимума и минимума воспользуйтесь встроенными в Python функциями sum(), max() и min().
| Решение (код программы):
|
| l = []
for i in range(0,8):
a = int(input())
l.append(a)
print(l)
print(sum(l))
print(min(l))
print(max(l))
|
3. Задания
| 1.
| Задача:
|
| Если объект range (диапазон) передать встроенной в Python функции list(), то она преобразует его к списку. Создайте, таким образом, список с элементами от 0 до 100 и шагом 17.
| Решение (код программы):
|
| s = list(range(0,100))
c =[]
i=0
while i<100:
c.insert(i, s[i])
i+=17
print(c)
| 2.
| Задача:
|
| Напишите программу, которая заполняет список пятью словами, введенными с клавиатуры, измеряет длину каждого слова и добавляет полученное значение в другой список. Например, список слов – ['yes', 'no', 'maybe', 'ok', 'what'], список длин – [3, 2, 5, 2, 4]. Оба списка должны выводиться на экран.
| Решение (код программы):
|
| string = []
count = []
for i in range(5):
str = input('Введите слово: ')
string.append(str)
count.append(len(str))
print('Слова: {}'.format(string))
print('Длины: {}'.format(count))
|
1. Теоретический материал
| Теперь рассмотрим множества в Python. Множества отличаются от списков и кортежей тем, что хранящиеся в них объекты являются неупорядоченными. Кроме того, множества содержат только уникальные элементы. Зато с множествами можно производить стандартные операции объединения, пресечения и разности
Кроме того, множества содержат только уникальные элементы. Зато с множествами можно производить стандартные операции объединения, пресечения и разности: Операция
| Описание операции
| |
| объединение
| &
| пересечение
| -
| разность
| ^
| симметричная разность
|
Множество можно создать с помощью оператора set():
A = set(['a', "apple", 120])
Добавить один элемент в множество можно с помощью метода A.add(x). Чтобы добавить другое множество используется операция A.update(conteiner). Для удаления элементов используется метод A.remove(x). Примерыработысмножествами:
A = set(["apple", "orange"])
A.add("pear")
B = set(["apple", "pear", "banana"])
C = A | B
D = A&B
print(C)
print(D)
В Python есть контейнер, который называется словарем. Словари позволяют хранить связки «ключ–значение» и осуществлять доступ к элементам по ключу. Пример:
people = {
"Name": “Ivan”,
"Surname": “Ivanov",
"Date": 1988
}
print(people)
people["Name"] = “Alex"
people["Date"] = 2008
print(people)
|
2. Задания
| 1.
| Задача:
|
| Даны два множества X и Y. Найти:
1) их объединение
2) их пересечение
3) элементы множества A, которых нет во множестве B
| Решение (код программы):
|
| X = set(["Qwerty", "Hello", "Mouse", "Sever", "Rare", "Gold"])
Y = set(["Versus", "Chorus", "Out", "Sheesh", "Gamer", "Rome"])
Z = X.union(Y)
F = X.difference(Y)
print(Z)
print(X&Y)
print(F)
| |