python_math_stat/docs/python/sets.md

52 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2023-10-12 21:32:13 +03:00
## Sets - множества (){}
- неупоряд. кол-я __*уникальных*__ эл-в `{'item1','item2'}`
- empty set `emprty_set = set()`
- Если взять любой список и привести его к `set()`, то перемещает в неупорядочено
2023-11-22 17:02:23 +03:00
```python
s = set() # создать множество
```
Чтобы проверить, что эл-т есть в множестве исп. `in`
```python
nums = {1,2,3,4}
1 in nums # True
9 in nums # False
```
2023-10-12 21:32:13 +03:00
### Методы
- __`.add()`__
```python
set_list.add (777) # добавление нового эл-та , но нельзя добавлять такой же
```
- __`.pop()`__
```python
set_list.pop() # случает удаляет эл-т (возвращает)
```
- __`.remove()`__
```python
2023-11-22 17:02:23 +03:00
set_list.remove(3) # удаление по эл-ту (не возвращает), если эл-та нет, то ошибка
2023-10-12 21:32:13 +03:00
```
- __`.discard()`__
отличие от remove - можно ввести значение, которого нет(не будет ошибки)
```python
set_list.discard(43) # удаление по значению
```
- __`.clear()`__
```python
set_list.clear() -> set() # удаляет все значения во множестве
2023-10-13 13:12:24 +03:00
```
### `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
```