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


· stack() создаёт новый пустой стек. Параметры не нужны, возвращает пустой стек.

· push(item) добавляет новый элемент на вершину стека. В качестве параметра выступает элемент; функция ничего не возвращает.

· pop() удаляет верхний элемент из стека. Параметры не требуются, функция возвращает элемент. Стек изменяется.

· peek() возвращает верхний элемент стека, но не удаляет его. Параметры не требуются, стек не модифицируется.

· isEmpty() проверяет стек на пустоту. Параметры не требуются, возвращает булево значение.

· size() возвращает количество элементов в стеке. Параметры не требуются, тип результата – целое число

Операция над стеком Содержание стека Возвращаемое значение
s.isEmpty() [] True
s.push(2) [2]  
s.push('эш') [2,'эш']  
s.peek() [2,'эш'] 'эш'
s.push(True) [2,'эш',True]  
s.size() [2,'эш',True]
s.isEmpty() [2,' эш ',True] False
s.push(3.14) s.push(3.14)  
s.pop() [2,' эш ',True] 3.14
s.pop() [2,' эш '] True
s.size() [2,' эш ']

 

Пример реализации стека:

class Stack:

def __init__(self) :

self.items=[]

def isEmpty(self) :

return self.items=[]

def push(self,item) :

self.items.append(item)

def pop(self) :

return self.items.pop()

def peek(self) :

return self.items[len(self.items)-1]

def size(self) :

return len(self.items)

from python.basic.stack import Stack

s=Stack

print(s.isEmpty

s.push(4)

s.push(‘dog’)

print(s.speek())

s.push(True)

print(s.size())

print(s.isEmpty())

print(s.pop())

print(s.pop())

print(s.size())


Множества

Множество – структура данных из различных элементов, где порядок элементов не определён. Элементы можно добавлять и удалять, перебирать. Можно выполнять операции над множествами (объединение, пересечение, разность). Можно проверять принадлежность элемента множеству.

Элементами множества могут быть объекты с неизменяемыми типами данных: числа, строки, кортежи (неизменяемые списки). Значения с изменяемым типом не могут быть элементами множества – список (но можно сделать кортеж) или другое множество. Это связано с особенностями представления множества в памяти компьютера.

Множество задается перечислением элементов в фигурных скобках. Например:

A={1,2,3}

Функция set() создает пустое множество. Функция set с параметрами в виде списка, строки или кортежа вернет множество, составленное из элементов списка, строки, кортежа. Например:

A = set('один')

print(A)

выведет {'д', 'и', 'н', 'о'}.

Каждый элемент может входить в множество только один раз, порядок задания элементов не важен. Например, программа:

A = set('абракадабра') # A={‘a’, ‘б’, ‘д’, ‘к’, ‘р’}

B = set('бардак') # В={‘a’, ‘б’, ‘д’, ‘к’, ‘р’}

print(A==B)

выдаст значение True.

Примеры присвоения значений:

a=set() # a – пусто

b = {‘б’, ‘e’, ‘р’}

c= set('хан') # с={‘х’, ‘а’, ‘н’}

d={2*i for i in range(5)} # d={0, 2, 4, 6, 8}

e=set([‘бер’, ‘один’, ‘один’, ‘one’, ‘one’, ‘ein’]) # е={‘бер’, ‘один’, ‘one’, ‘ein’}

Число элементов определяет функция len(a). Например:

print(len(set(‘четыре’))) # выведет число 5

Перебор вех элементов множества можно осуществить при помощи цикла for

f={1,3,4,7}

for san in f : print(san) # напечатает 7 1 4 3

Принадлежность элемента можно проверить с помощью операции in .

print(3 in {1,3,4,7}) # напечатает True

Новый элемент добавляет метод add.

a={1,3,4,7}

a.add(6) # a= {1,3,4,6,7}

Метод pop удаляет из множества один случайный элемент, возвращая его значение. При пустом множестве генерируется исключение KeyError

Функция list из множества формирует список.

Операции с множествами:

len(s) – число элементов в множестве

x in s – принадлежность x s

s.isdisjoint(s1) – истина в случае пустого пересечения множеств

s==s1 – истина в случае совпадения множеств

s.issubset(s1) – s подмножество s1

s.issuperset(s1) – s1 подмножество s

s.union(s1,s2…) – объединение множеств

s.intersection(s1,s2,…) – пересечение s с остальными множествами

s.difference(s1,s2…) – вычитание из s подмножеств

s.simmetric_difference(s1) – исключающее или

s.copy(s1) – копирование.

Операции изменения множества:

s.update(s1,s2,…) – добавляет элементы в множество

s.intersection_update(s1,s2,…) – пересечение в множестве оставляет

s.difference_update(s1,s2,…) – вычитает из множества

s.simmetric_difference_update(s1,s2,…) – оставляет элементы, встречающиеся только в одном множестве

s.add(b) – добавляет элемент

s.remove(b) – удаляет элемент. При удалении несуществующего элемента формируется исключение KeyError.

s.discard(b) – удаляет элемент

s.pop() – удаляет случайный элемент

s.clear() – очищает множество.

Пример: Удалить все повторяющиеся элементы из списка.

a=[7,9,9,4,2,6,5,9,4] # a - множество

s=set(arr) # преобразует список во множство s=[2,4,5,7,9]

arr=list(s) # преобразует множество в список без повторений значений




Дата добавления: 2022-04-12; просмотров: 168;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.