python_math_stat/docs/python/lists.md

86 lines
3.3 KiB
Markdown
Raw Normal View History

2023-10-12 21:32:13 +03:00
## Lists []
- Пример листа `list = [1, 'num', 3.33]` *Можно создавать эл-ты разных ТД*
- Длину можно узнать `len()` (выдаст именно ко-во эл-во, не индексы)
2023-10-23 15:34:41 +03:00
- из списка подряд цифры через пробел
```python
L = [1, 2, 3, 4, 5]
print(*L)
```
2023-10-12 21:32:13 +03:00
- Выбрать по индексу `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
2023-10-13 13:12:24 +03:00
```
2023-10-23 15:34:41 +03:00
## 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) раз
```
HUYodjsyvd888399472749 -tvoistaj