training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Функции для работы с множествами Python

Создано: 06 июля 2017Автор: Егор Астапов3188 просмотровСложность: легкий

Существуют удобные функции для работы с множествами Python. О множествах читайте на странице множество Python. Покажу вам как мешать списки с множествами. В первом примере покажу вам как вывести циклом for простой список.


#!/usr/bin/python3
chars = ['A', 'B', 'C']

# простой вывод в столбик
for item in chars:
    print(item, end='\n')                    
'''
вывод:
A
B
C
'''  

В этом примере мы выведем список в виде: ключ значение. Выводиться будет список. Нам поможет функция enumerate. Эта функция позволяет нам итерировать по объекту с параллельным автоматическим счётчиком. Вы можете передать функции необязательный аргумент. Он позволяет задавать начальное значение счётчика. Как это ни странно, в итоге получится кортеж (х, х).


chars = ['A', 'B', 'C']

# выводит ключ - значение (0, 'A')
# enumerate(chars, 3) - 3 необязательный параметр
for item in enumerate(chars):
    print(item, end='\n')
'''
вывод:
(0, 'A')
(1, 'B')
(2, 'C')
''' 

функция zip полезна при смешивании множества со списком. Но прежде чем мешать нужно убедиться равном количестве элементов как с одной, так и с другой стороны. Если в множестве будет 3 значения, а в списке 4, то получится 3 кортежа. При таком выводе не появится ошибка.


chars = ['A', 'B', 'C']
fruit = {'Aplle', 'Banana', 'Cherry'}

# смешивает значения 2 массивов
for item in zip(chars, fruit):
    print(item, end='\n')
'''
вывод:
('A', 'Banana')
('B', 'Aplle')
('C', 'Cherry')
'''

Теперь рассмотрим другой пример. У нас есть коллекция произвольных объектов с доступом по ключу. Точнее сказать словарь. Тип данных dict (словарь). Функция items возвращает пары (ключ, значение). Если в этом примере удалить функцию, то появится ошибка.


dict = {'name': 'Mike', 'ref': 'Python', 'sys':'Win'}

# выводит ключ - значение sys = Win
for key, value in dict.items():
    print(key, '=', value)
'''
вывод:
ref = Python
name = Mike
sys = Win
''' 

Хочу показать как добавлять элементы в конец множества. Функция add добавляет элемент в множество.


# множество
status={'work', 'error', 'install'}
print(type(status))

#добавляет элемент status1 в множество
status.add('status1') 
print(status)
'''
вывод:
<class 'set'>
{'install', 'status1', 'work', 'error'}
'''

Функция update собирает множество из разных частей. Одним его значением будет низменный первое множество. Другими значениями будут символы второго множества. Он разобьёт строку на символы. В результате символы станут значениями множества. Трудно сказать, когда это может пригодиться? Решать вам?


status={'aabb'}
#добавляет несколько элементов в множество 
status.update('aabbccdd') 
print(status)
'''
вывод:
{'a', 'aabb', 'b', 'c', 'd'}

Функция copy позволяет скопировать множество. Новое множество не будет связано со своей копией.


status={'work', 'error', 'install'}
#возвращает копию множества
status_new = status.copy() 
print(status_new)
'''
вывод:
{'error', 'install', 'work'}
'''

Вы можете рандомно удалять элементы множества. Функция pop удаляет один элемент из множества случайным образом.


status={'work', 'error', 'install'}
#удаляет один элемент из множества случайным образом
status.pop() 
print(status)
'''
вывод (первый раз):
{'work', 'error'}
вывод (второй раз):
{'install', 'work'}
'''

Благодаря функции intersection вы можете найти общие значения двух множеств. Вы можете написать скрипт для проверки сообщений. Очень часто пользователи спамят в комментариях и нужна защита. Сделайте два множества. Пусть в одном множестве будут слова из комментария. Во второе множество поместите стоп-слова. Когда вы сравните два множества (пересечение), то могут появится совпадения. Выполните проверку на количество совпадений. Если есть хоть одно совпадение, то выводим сообщение о том, что вы ваша тематика не подходит к нашей статье (вы спамите).


status={'work', 'error', 'install'}
status2={'work2', 'error2', 'install2','new_element'}
#возвращает элементы, принадлежащие обоим множествам 
status.intersection(status2) 
print(status)
'''
вывод:
{'install', 'work', 'error'}
'''

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


status={'work', 'error', 'install', 'new_element'}
status2={'work2', 'error2', 'install2'}
#возвращает элементы из множества status, которых нет в status2
status.difference(status2) 
print(status)
'''
вывод:
{'install', 'error', 'new_element', 'work'}
'''

Комментарии

реклама