52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
## 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
|
||
|
||
```
|