python_math_stat/docs/python/lists.md
2023-10-23 16:12:51 +03:00

124 lines
4.4 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.

## 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] # от меньшего (эл-ты влож списков) к большему (к самим влож спискам)
```
-