Рубрики
Без рубрики

Установить операцию «Трюки» с Python

Просто пара трюков с наборами в Python. Помечено Python, наборы, трюк, обучение.

Эй, ребята, как я работаю с Python в последнее время, и я пытаюсь узнать столько, сколько смогу, и я просто хотел поделиться некоторыми из моих опытов обучения с вами.

Примечание: большинство людей могут знать эти «хитрости», но как освежитель, я просто хотел поделиться им и, возможно, помочь другим разработкам в будущем.

Начнем с определения набора в Python:

Набор – это неупорядоченная коллекция уникальных элементов

Вот официальный ссылка Python.org: https://docs.cython.org/3.8/Library/stdtypes.html#set-types-set-frozenset.

Зная, что может дать вам представление о том, какие наборы могут сделать для вас, или как они могут помочь вам. Я дам вам несколько примеров:

Допустим, у вас есть список с предметами, и вы хотите избавиться от повторяющихся. Я знаю одну грубую силу, который является итерацией списка, а затем добавляет элементы в другой массив и, наконец, вы получили свой список с уникальными элементами. Но как насчет этого:

items = [1, 2, 3, 3, 4, 5, 2, 7]
print(set(items)) # You will get this => {1, 2, 3, 4, 5, 7}

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

items = [1, 2, 3, 3, 4, 5, 2, 7]
my_immutable_set = set(items)
unique_items = list(my_immutable_set)
print(unique_items) # You will get this => [1, 2, 3, 4, 5, 7]

Вот как вы получаете список только уникальными элементами. Довольно прямо прямо сейчас?

Хорошо, давайте теперь перейдем к трюкам

Побитовый оператор и (&)

Допустим, у вас есть 2 комплекта, и вы хотите получить только предметы, которые находятся в обоих наборах, вы можете сделать что-то вроде делать для выполнения и спрашивать, является ли элемент в другом наборе, но это может быть утомительно для чтения, Или напишите, что, если мы сможем использовать наборы? Хорошо наборы получили крышку:

s = set({1, 2, 3, 4})
s2 = set({7, 3, 9, 10})

print(s & s2) # this will print => {3}

Битовой оператор XOR (^)

Что, если мы хотим только значения, которые не повторяются в обоих наборах?

s = set({1, 2, 3, 4})
s2 = set({7, 3, 9, 10})

print(s ^ s2) # this will print => {1, 2, 4, 7, 9, 10}

Побитовый оператор или (|)

Теперь, что, если мы хотим объединить один набор с другим, в списке вы можете использовать оператор SUM (+), но с множествами, которые вы не можете сделать, так вот как дела

s = set({1, 2, 3, 4})
s2 = set({7, 3, 9, 10})

print(s | s2) # this will print => {1, 2, 3, 4, 7, 9, 10}

Последний «трюк»

Что если вы хотите удалить повторяющиеся элементы, которые перехватывают в одном из наборов? Ну, вы можете использовать оператор CUTTRACT (-), как так:

s = set({1, 2, 3, 4})
s2 = set({7, 3, 9, 10})

print(s - s2) # this will print => { 1, 2, 4 }

Вы можете заметить, что общий элемент между двумя наборами, где удален, и теперь у вас есть новый набор с уникальными элементами, который не существует в другой. Я надеюсь, что я понял, что это было немного сложно объяснить.

Последние слова

Я надеюсь, что вам понравился этот маленький пост, и обнаружил, что это полезно, если у вас есть какие-либо предложения или вопросы, не стесняйтесь поделиться своими мыслями, ниже в комментариях. Я постараюсь поделиться своим опытом с Python столько, сколько смогу, я нахожу этот метод «преподавания» и изучения действительно хорошего как для меня, так и для некоторых читателей, которые находят это полезным или интересным.

Оригинал: “https://dev.to/jorgee97/set-operation-tricks-with-python-4h2g”