python_math_stat/docs/python/sets.md
2023-11-22 17:02:23 +03:00

52 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Sets - множества (){}
- неупоряд. кол-я __*уникальных*__ эл-в `{'item1','item2'}`
- empty set `emprty_set = set()`
- Если взять любой список и привести его к `set()`, то перемещает в неупорядочено
```python
s = set() # создать множество
```
Чтобы проверить, что эл-т есть в множестве исп. `in`
```python
nums = {1,2,3,4}
1 in nums # True
9 in nums # False
```
### Методы
- __`.add()`__
```python
set_list.add (777) # добавление нового эл-та , но нельзя добавлять такой же
```
- __`.pop()`__
```python
set_list.pop() # случает удаляет эл-т (возвращает)
```
- __`.remove()`__
```python
set_list.remove(3) # удаление по эл-ту (не возвращает), если эл-та нет, то ошибка
```
- __`.discard()`__
отличие от remove - можно ввести значение, которого нет(не будет ошибки)
```python
set_list.discard(43) # удаление по значению
```
- __`.clear()`__
```python
set_list.clear() -> set() # удаляет все значения во множестве
```
### `for`для set
```python
list = [6,43,-2,11,-55,-12,3,345] # в отличие от dict не нужер указ. первую переменную "__number__: number"
num_set = {num**2 for num in list}
print (num_set) -> {0,121,36,4,9,144...} # те же значение, только в разном порядке, т.к. sets неупоряд.
```
- пример с `range()`
```python
num_set = {num **2 for num in range(3,11)}
```
- пример с словами
```python
letter_set = {letter for letter in 'hello'}
print (letter_set) -> {'h','l','e','o'} # нет одной l т.к. уникальные в sets
```