# Grupo de estudos: primeiros passos
### `hackmd.io/@sesc-av-paulista/estudos-em-python-4-e-11-outubro`
## Listas (*list*), tuplas (*tuple*), conjuntos (*set*) e dicionários (*dict*)
A documentação oficial do Python é traduzida para o português por pessoas voluntárias: https://docs.python.org/pt-br/3.13/
Temos usado o [Thonny IDE](https://thonny.org) nos nossos encontros. Confira no canto inferior esquerdo no Thonmy do micro do Sesc se ele está indicando "Thonny's Python".
A parte de cima da janela do Thonny edita, abre, salva e executa arquivos `.py`. A parte de baixo é o *console interativo* também chamado de REPL que conversa com o interpretador Python.
### Listas e tuplas
São ambas sequências ordenadas. As listas são mutáveis e as tuplas são imutáveis.
```
>>> %Run 'estudos sabado.py'
Oi Sesc!
>>> print('Oi')
Oi
>>> fruta = 'Abacate'
>>> fruta
'Abacate'
>>> type(fruta)
<class 'str'>
>>> frutas = ['Manga', 'Banana', 'Maçã', 'Papaya', 'Abacaxi', 'Laranja', 'Maracujá']
>>> type(frutas)
<class 'list'>
>>> len(frutas)
7
>>> frutas.append('Manga')
>>> frutas
['Manga', 'Banana', 'Maçã', 'Papaya', 'Abacaxi', 'Laranja', 'Maracujá', 'Manga']
>>> frutas.count('Banana')
1
>>> frutas.count('Kiwi')
0
>>> frutas.count('Manga')
2
>>> len(frutas)
8
>>> frutas.sort()
>>> frutas
['Abacaxi', 'Banana', 'Laranja', 'Manga', 'Manga', 'Maracujá', 'Maçã', 'Papaya']
>>> frutas.sort(key=len)
>>> furtas
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'furtas' is not defined
>>> frutas
['Maçã', 'Manga', 'Manga', 'Banana', 'Papaya', 'Abacaxi', 'Laranja', 'Maracujá']
>>> len('Alexandre')
9
>>> len('Lorena')
6
>>> len('Osvaldo')
7
>>> len('Osvaldos')
8
>>>
>>> ultima = frutas.pop()
>>> ultima
'Maracujá'
>>> frutas
['Maçã', 'Manga', 'Manga', 'Banana', 'Papaya', 'Abacaxi', 'Laranja']
>>> frutas[0]
'Maçã'
>>> frutas[3]
'Banana'
>>> frutas.pop(3)
'Banana'
>>> frutas
['Maçã', 'Manga', 'Manga', 'Papaya', 'Abacaxi', 'Laranja']
>>> m = frutas.pop(3)
>>> m
'Papaya'
>>> frutas
['Maçã', 'Manga', 'Manga', 'Abacaxi', 'Laranja']
>>> frutas.index('Abacaxi')
3
>>> frutas.index('Kiwi')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'Kiwi' is not in list
>>> 'Abacaxi' in frutas
True
>>> 'Kiwi' in frutas
False
>>>
>>>
>>>
>>> sp = -23, -46
>>> sp
(-23, -46)
>>> sp = (-23, -46)
>>> sp
(-23, -46)
>>> sp = -23,
>>> sp
(-23,)
>>> sp = -23, -46, 756
>>> sp
(-23, -46, 756)
>>> sp = (-23, -46)
>>> cantores = ('Milionário', 'José Rico')
>>> type(cantores)
<class 'tuple'>
>>> cantores.append('Pena Branca')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
>>> frutas
['Maçã', 'Manga', 'Manga', 'Abacaxi', 'Laranja']
>>> frutas.append('Kiwi')
>>> frutas
['Maçã', 'Manga', 'Manga', 'Abacaxi', 'Laranja', 'Kiwi']
>>> cantores[0]
'Milionário'
>>> cantores[1]
'José Rico'
>>> cantores[2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>>
```
## Conjuntos
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/conjuntos.html
```
>>> frutas
['Maçã', 'Manga', 'Manga', 'Abacaxi', 'Laranja', 'Kiwi']
>>> set(frutas)
{'Laranja', 'Kiwi', 'Manga', 'Maçã', 'Abacaxi'}
>>> frutas
['Maçã', 'Manga', 'Manga', 'Abacaxi', 'Laranja', 'Kiwi']
>>> conjunto_frutas = set(frutas)
>>> conjunto_frutas
{'Laranja', 'Kiwi', 'Manga', 'Maçã', 'Abacaxi'}
>>> conjunto_frutas.add('Maracujá')
>>> conjunto_frutas
{'Laranja', 'Kiwi', 'Manga', 'Maracujá', 'Maçã', 'Abacaxi'}
>>> conjunto_frutas.add('Manga')
>>> conjunto_frutas
{'Laranja', 'Kiwi', 'Manga', 'Maracujá', 'Maçã', 'Abacaxi'}
>>> conjunto_frutas.remove('Maçã')
>>> conjunto_frutas
{'Laranja', 'Kiwi', 'Manga', 'Maracujá', 'Abacaxi'}
>>> conjunto_frutas.remove('Jaca')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Jaca'
>>> conjunto_frutas.discard('Jaca')
>>> conjunto_frutas
{'Laranja', 'Kiwi', 'Manga', 'Maracujá', 'Abacaxi'}
>>> conjunto_frutas.discard('Kiwi')
>>> conjunto_frutas
{'Laranja', 'Manga', 'Maracujá', 'Abacaxi'}
>>> conjunto_frutas.discard('Kiwi')
>>> conjunto_frutas.discard('Kiwi')
```

## Dicionários
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/dicionarios.html