124 lines
4.4 KiB
Markdown
124 lines
4.4 KiB
Markdown
## Lists []
|
||
- Пример листа `list = [1, 'num', 3.33]` *Можно создавать эл-ты разных ТД*
|
||
- Длину можно узнать `len()` (выдаст именно ко-во эл-во, не индексы)
|
||
- из списка подряд цифры через пробел
|
||
```python
|
||
L = [1, 2, 3, 4, 5]
|
||
print(*L)
|
||
```
|
||
- Выбрать по индексу `list[index]` -> выдаст эл-т
|
||
- Вырезать по индексу `list[:2]` -> выдаст все выбранные
|
||
- __МОЖНО__ менять эл-ты в списке `list[index]='hi'`
|
||
- Добавить эл-т в список __`.append()`__, __`.insert()`__:
|
||
```python
|
||
list.append('new item') # добавить эл-т в конце списки
|
||
list.insert(index,'new item') # доб эл-т в нужное место списка
|
||
```
|
||
- убрать эл-т из списка __`.pop()`__, __`.remove()`__:
|
||
```python
|
||
list.pop() # удаляет последний эл-т в списке
|
||
|
||
list.pop(значение) # удаляет по значению - НЕ ВОЗВРАЩАЕТ
|
||
|
||
deleted = list.pop() = [...]
|
||
|
||
deleted = list.remove(значение) - удаляет первое попавшееся значение
|
||
```
|
||
- Сортировка __`.sort()`__, __`.reverse()`__:
|
||
```python
|
||
list.sort() - НЕ ВОЗВРАЩАЕТ / меняет первоначальную переменную
|
||
list.reverse() - с большего к меньшему
|
||
```
|
||
## Цикл for
|
||
- Посл-ти: строки, списки, словари, мн-ва и др. - для перебора используется цикл
|
||
```python
|
||
list = [1,2,3,4,5]
|
||
for number(любое значение) in list:
|
||
print(number) -> 1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
print('Hi') #выдаст столько раз сколько эл-тов в списке
|
||
```
|
||
- Для подсчета суммы значений в списке
|
||
```python
|
||
sum = 0
|
||
for num in list:
|
||
sum = sum + num
|
||
print (sum) -> 10
|
||
```
|
||
|
||
## Nested Loops - вложенные циклы
|
||
- треугольник из смайликов `\U0001f600`
|
||
```python
|
||
for num in range(10):
|
||
count=0
|
||
emoticons = ''
|
||
while count <=num:
|
||
emoticons+='\U0001f600'
|
||
count+=1
|
||
print (emoticons) -> 😀
|
||
😀😀
|
||
😀😀😀
|
||
😀😀😀😀
|
||
😀😀😀😀😀
|
||
😀😀😀😀😀😀
|
||
😀😀😀😀😀😀😀
|
||
😀😀😀😀😀😀😀😀
|
||
😀😀😀😀😀😀😀😀😀
|
||
😀😀😀😀😀😀😀😀😀😀
|
||
```
|
||
- то же, но без `while`
|
||
```python
|
||
for num in range(10):
|
||
emoticons = ''
|
||
for count in range(num+1):
|
||
emoticons+='\U0001f600'
|
||
print(emoticons)
|
||
```
|
||
#### Мультприкация строк
|
||
```python
|
||
for num in range(1,11): # не с -, т.к. 0 = 0, пропуск -> 1) 1*1= 1 \ 2) 1*2= 2 \ 3) 1*3= 3
|
||
print('\U0001f600'*num) # при умножении строки на число мы получаем строку несколько раз, а for сделал это range (1,11)(т.е. 10) раз
|
||
```
|
||
==
|
||
```python
|
||
count = 1
|
||
while count<11:
|
||
print ('\U0001ff00' * count)
|
||
count += 1
|
||
```
|
||
## Nested List
|
||
```python
|
||
list = [[1,2,3],[4,5,6],[7,8,9]]
|
||
print (len(list)) -> 3 # 3 эл-та списка(компоненты) 1) 1,2,3 2) 4,5,6....
|
||
print (len(list [1])) -> 3 # (эл-ты внутри 1 вложенного списка (4,5,6))
|
||
```
|
||
- Чтобы обратиться к эл-ту списка внутри списка:
|
||
```python
|
||
print(list[1][1]) -> 5
|
||
```
|
||
- операции с вложенными списками
|
||
```python
|
||
for inner_list in list:
|
||
print (inner_list)-> [1,2,3]
|
||
[4,5,6]
|
||
[7,8,9]
|
||
```
|
||
- операции с эл-тами вложенных списков
|
||
```python
|
||
for inner_list in list:
|
||
for number in inner_list:
|
||
print (inner_list)-> 1
|
||
2
|
||
3
|
||
4
|
||
...
|
||
|
||
ИЛИ
|
||
[[print (number) for number in inner_list] for inner_list in list] # от меньшего (эл-ты влож списков) к большему (к самим влож спискам)
|
||
```
|
||
-
|
||
|