голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

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

Существуют удобные функции для работы с множествами 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'}
'''
просмотры: 2577, уровень: лёгкий уровень, рейтинг: 5, дата: 2017-07-06 14:03:58
проголосовать:

Комментарии:






поиск
реклама
банеры
Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей