# 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') ``` ![image](https://hackmd.io/_uploads/ryB9s3C2gl.png) ## Dicionários https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/dicionarios.html