Tuplas. Prof. Alberto Costa Neto Programação em Python

Documentos relacionados
Listas. Prof. Alberto Costa Neto Programação em Python

Principais Idiomas de Laços. Prof. Alberto Costa Neto Programação em Python

Dicionários. Prof. Alberto Costa Neto Programação em Python

Funções. Prof. Alberto Costa Neto Programação em Python

A Linguagem Python: Uma visão geral. Prof. Alberto Costa Neto Programação em Python

Motivação Programar? Prof. Alberto Costa Neto Programação em Python

Arquivos. Prof. Alberto Costa Neto Programação em Python

Variáveis, Expressões e Comandos. Prof. Alberto Costa Neto Programação em Python

Estruturas de Dados em Python

Introdução à Programação / Programação I

Introdução à Programação

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Listas e Tuplas. Vanessa Braganholo

Introdução à Programação Aula 9 Listas e tuplos

Programação I Aula 9 Listas e tuplos

Sequências - Tuplas. Sequências - Tuplas

Lista de Linguagens de Programação 16

Listas, conjuntos e dicionários

Aula de hoje. Outras estruturas de dados. Teoria dos conjuntos. Teoria dos conjuntos. Conjuntos em Python. Conjuntos em Python

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

PYTHON LISTAS. Introdução à Programação SI1

Python: Listas. Claudio Esperança

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

Algoritmos e Programação

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

Aplicações de Dicionários. Prof. Alberto Costa Neto Programação em Python

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26

Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28

Introdução à Ciência da Computação Disciplina:

Processamento da Informação Teoria. Coleções: Listas

Sobre a Disciplina Programação Imperativa. Prof. Alberto Costa Neto DComp/UFS

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

Python: Dicionários. Claudio Esperança

VARIÁVEIS, OPERADORES ARITMÉTICOS E LISTAS

Manipulação de Strings. Vanessa Braganholo

Vetores. Vanessa Braganholo

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

Computadores e Programação o semestre. Aula Helmut Wolters, Jorge Landeck, Miguel Oliveira

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015

Python: Voltando aos Containers

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Computação 1. Aula 5 - Teórica Professor: Leonardo Carvalho

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Algoritmo e Programação Matemática LAÇOS E LISTAS

MC-102 Aula 11 Strings

Estrutura de Dados. Diego Silveira Costa Nascimento

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

4. PÚBLICO ALVO Alunos que queiram conhecer os fundamentos de programação de computadores com a linguagem Python.

Framework MBA GESTÃO DE COMPRAS NEGOCIAÇÃO. Valor. Strategic Sourcing. Gestão de Fornecedores. Gestão por Categorias

MBA EM GESTÃO FISCAL E TRIBUTÁRIO Aula: Indicadores

24/09/2014. Prof. André Backes

Computação 1. Revisão Geral professor: Leonardo Carvalho

Python: Tuplas e Strings. Claudio Esperança

Introdução à linguagem Perl

ESPECIALIZAÇÃO EM NEGOCIAÇÃO AULA 4: CULTURA + PODER + AUTORIDADE

Computação Científica com Python

PYTHON LISTAS. Introdução à Programação SI2

Laboratório de Programação 1 Aula 07

Algoritmos e Programação

A Linguagem Python: Uma visão geral. Prof. Alberto Costa Neto Programação em Python

Python 3.x Tipos de Dados Tuplas Dicionários

Visão Geral do Curso. Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python)

CAPACITAÇÃO DE INTELIGÊNCIA DE MERCADO Aula: Análise - Valor Percebido

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp

ESPECIALIZAÇÃO EM NEGOCIAÇÃO AULA 5: NECESSIDADE + PRAZO + BATNA + ITENS NEGOCIÁVEIS

WORKSHOP: ANÁLISE DE VIABILIDADE FINANCEIRA

Os elementos da programação

Introdução à Ciência da Computação Disciplina:

Osvaldo Santana Thiago Galesi

4. Constantes. Constantes pré-definidas

Passo a passo de como montar sua matriz estratégica de categorias de compras. Febracorp University

Luciano Ramalho setembro/2012. Objetos Pythonicos. Orientação a objetos e padrões de projeto em Python

INCOMPANY COMGÁS Strategic Sourcing

Introdução à Programação / Programação I

MBA EM INTELIGÊNCIA DE MERCADO

Algoritmos e Estrutura de Dados Aula 08 Pilhas

MBA EM GESTÃO DE COMPRAS

INCOMPANY COMGÁS Strategic Sourcing Percepção

Processamento da Informação Teoria. Exercícios sobre strings

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

WORKSHOP COMPLIANCE - INTELIGÊNCIA EM CONTROLES INTERNOS

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Visão Geral do Curso. Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python)

Manipulação de Listas. Vanessa Braganholo

Python: Exceções, Iteradores e Geradores. Claudio Esperança

MBA EM GESTÃO DE COMPRAS

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

Python. Resumo e Exercícios P2 Parte 1

OS 8 PRINCIPAIS INDICADORES NA GESTÃO DE ESTOQUES

Módulo: Liderança e Gestão de Equipe

Programação de Computadores LAÇOS E LISTAS

Aula de hoje. Strings. Expressões lógicas. Relações lógicas equivalentes. Operadores para strings. Introdução

WORKSHOP: INTELIGÊNCIA EM PRECIFICAÇÃO

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Algoritmos e estrutura de dados

Transcrição:

Tuplas Prof. Alberto Costa Neto Programação em Python

Tuplas são parecidas com listas Uma Tupla é outro tipo de seqüência que funciona de forma parecida com uma lista pois tem elementos que são indexados iniciando de 0 >>> x = ('Glenn', 'Sally', 'Joseph') >>> print x[2] Joseph >>> y = ( 1, 9, 2 ) >>> print y (1, 9, 2) >>> print max(y) 9 >>> for iter in y:... print iter... 1 9 2 >>>

mas... Tuplas são imutáveis Diferentemente de uma lista, uma vez criada a tupla não pode ter seu conteúdo alterado, assim como uma string >>> x = [9, 8, 7] >>> x[2] = 6 >>> print x >>>[9, 8, 6] >>> >>> y = 'ABC' >>> y[2] = 'D' Traceback:'str' object does not support item Assignment >>> >>> z = (5, 4, 3) >>> z[2] = 0 Traceback:'tuple' object does not support item Assignment >>>

Coisas que não podemos fazer com tuplas >>> x = (3, 2, 1) >>> x.sort() Traceback: AttributeError: 'tuple' object has no attribute 'sort' >>> x.append(5) Traceback: AttributeError: 'tuple' object has no attribute 'append' >>> x.reverse() Traceback: AttributeError: 'tuple' object has no attribute 'reverse' >>>

Comparativo de funções disponíveis (métodos) em Tuplas e Listas >>> l = list() >>> dir(l) ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> t = tuple() >>> dir(t) ['count', 'index']

Tuplas são mais eficientes Como o interpretador de Python não tem que criar uma estrutura modificável para uma tupla, a estrutura usada é mais simples e eficiente em termos de memória de desempenho, quando comparada à de uma lista Logo, em nossos programas, ao criar variáveis temporárias, é preferível usar tuplas no lugar de listas

Tuplas e Atribuições Podemos também colocar uma tupla no lado esquerdo de um comando de atribuição Podemos até omitir parênteses >>> (x, y) = (4, 'fred') >>> print y fred >>> (a, b) = (99, 98) >>> print a 99

Tuplas e Dicionários A função (método) items() dos dicionários retorna uma lista de tuplas (chave, valor) >>> d = dict() >>> d['csev'] = 2 >>> d['cwen'] = 4 >>> for (c,v) in d.items():... print c, v... csev 2 cwen 4 >>> tuplas = d.items() >>> print tuplas [('csev', 2), ('cwen', 4)]

Tuplas são Comparáveis Os operadores de comparação funcionam com tuplas e outras seqüências. Se o primeiro item é igual, Python vai para o próximo elemento, e assim por diante, até achar elementos que diferem. >>> (0, 1, 2) < (5, 1, 2) True >>> (0, 1, 2000000) < (0, 3, 4) True >>> ( 'Jones', 'Sally' ) < ('Jones', 'Sam') True >>> ( 'Jones', 'Sally') > ('Adams', 'Sam') True

Ordenando Listas de Tuplas Podemos tirar vantagem da habilidade de ordenar uma lista de tuplas para obter uma versão ordenada de um dicionário Primeiro, ordenamos o dicionário pela chave usando a função (método) sort() >>> d = {'a':10, 'b':1, 'c':22} >>> t = d.items() >>> t [('a', 10), ('c', 22), ('b', 1)] >>> t.sort() >>> t [('a', 10), ('b', 1), ('c', 22)]

Usando sorted() Podemos fazer isto de uma forma ainda mais direta usando a função built-in sorted que recebe uma seqüência como parâmetro e retorna a seqüência ordenada >>> d = {'a':10, 'b':1, 'c':22} >>> d.items() [('a', 10), ('c', 22), ('b', 1)] >>> t = sorted(d.items()) >>> t [('a', 10), ('b', 1), ('c', 22)] >>> for c, v in sorted(d.items()):... print c, v... a 10 b 1 c 22

Ordenando pelos valores ao invés de pela chave Se pudéssemos construir uma lista de tuplas da forma (valor, chave), poderíamos ordenar pelo valor Fazemos isso com um laço for que cria uma lista de tuplas >>> c = {'a':10, 'b':1, 'c':22} >>> temp = list() >>> for c, v in c.items() :... temp.append( (v, c) )... >>> print temp [(10, 'a'), (22, 'c'), (1, 'b')] >>> temp.sort(reverse=true) >>> print temp [(22, 'c'), (10, 'a'), (1, 'b')]

arq = open('palavras.txt') conts = dict() for linha in arq: palavras = linha.split() for palavra in palavras: conts[palavra] = conts.get(palavra, 0) + 1 lista = list() for chave, valor in conts.items(): lista.append( (valor, chave) ) lista.sort(reverse=true) for valor, chave in lista[:10] : print chave, valor Mostrando as 10 palavras mais comuns em um arquivo, ordenadas pela freqüência

Uma versão ainda mais curta >>> c = {'a':10, 'b':1, 'c':22} >>> print sorted( [ (v,c) for c,v in c.items() ] ) [(1, 'b'), (10, 'a'), (22, 'c')] Compreensão de Listas cria uma lista dinâmica. Neste caso, criamos uma lista invertida das tuplas dos pares (chave, valor) de um dicionário e então a ordenamos (pelo valor e não pela chave). http://wiki.python.org/moin/howto/sorting

Acknowledgements / Contributions Agradecimentos / Contribuições These slides are Copyright 2010- Charles R. Severance ( www.dr-chuck.com) of the University of Michigan School of Information and open.umich.edu and made available under a Creative Commons Attribution 4.0 License. Please maintain this last slide in all copies of the document to comply with the attribution requirements of the license. If you make a change, feel free to add your name and organization to the list of contributors on this page as you republish the materials.... Initial Development: Charles Severance, University of Michigan School of Information These slides were translated and adapted by Alberto Costa Neto (albertocn.sytes.net) of the Federal University of Sergipe