Aula 07 – Python – Set, Frozenset e Range

Aula 07 – Python – Set, Frozenset e Range

Aulas baseadas no livro Python para Desenvolvedores de Luiz Eduardo Borges.

COMO UTILIZAR SET, FROZENSET E RANGE EM PYTHON

Que fazer esse curso com certificação?

Acesse:

https://workover.com.br/python-codigo-fluente

curso python grátis online Set, Frozenset e Range

Curso python grátis online Set, Frozenset e Range

Voltar para página principal do blog

Todas as aulas desse curso

Aula 06                 Aula 08

Automatize tarefas do dia a dia com python:

Curso Python Bot

Curso Python Bot

SET, FROZENSET E RANGE

  • SET é uma sequência mutável sem repetições não ordenada
  • FROZENSET é uma sequência imutável sem repetições não ordenada

IMPLEMENTAM OPERAÇÕES DE CONJUNTOS

  • União
  • Interseção
  • Diferença

RANGE

A função range() permite-nos especificar o início da sequência, o passo, e o valor final

O único parâmetro obrigatório é o que define quem será o último elemento da sequência

  • start – início da sequência
  • stop – último elemento da sequência
  • step – intervalo entre os elementos

Na notação range( stop ), assume-se que o início da sequência é igual a zero e o final igual ao valor que está sendo enviado como argumento

Na notação range( [start], stop[, step] ) podemos definir o início da sequência o último elemento e o passo, isto é, o intervalo entre cada elemento.


# -*- coding: latin1 -*-
# Conjuntos de dados
s1 = set(range(5))
s2 = set(range(2, 6))
s3 = set(range(2, 10, 2))
s4 = set(range(0, -10, -1))
# Exibe os dados
print ('s1:', s1, '\ns2:', s2, '\ns3:', s3)
# União
s1s2 = s1.union(s2)
print ('União de s1 e s2: ', s1s2)
# Diferença
print ('Diferença de s1s2 com s3:', s1s2.difference(s3))
# Interseção
print ('Interseção de s1s2 com s3:', s1s2.intersection(s3))
# Testa se um set inclui outro
if s1.issuperset([1, 2]):
    print ('s1 inclui 1 e 2')
# Testa se não existe elementos em comum
if s1.isdisjoint(s2):
    print ('s1 e s2 não tem elementos em comum')

OBS. Quando uma lista é convertida para set, as repetições são descartadas.

lst = [1, 3, 3, 6, 4, 4]
lst
[1, 3, 3, 6, 4, 4]

set(lst)
{1, 3, 4, 6}

s = set(range(8, 0, -2))
s
{8, 2, 4, 6}

l = list(range(8, 0, -2))
l
[8, 6, 4, 2]

list(s)[1]
2

s.add(5)
{2, 4, 5, 6, 8}

fz = frozenset(range(3))
fz
frozenset({0, 1, 2})

list(fz)[1]
1

FROZENSET É IGUAL AO SET, A DIFERENÇA É QUE O FROZENSET É IMUTÁVEL E NÃO HÁ MÉTODOS DISPONÍVEIS PARA ALTERAR SEUS ELEMENTOS.

Existe um tipo builtin, ou seja, um tipo nativo do python, que é uma lista chamada bytearray.

A classe bytearray é uma sequência mutável de inteiros no intervalo 0 <= x <256.

Ela possui a maioria dos métodos usuais de sequências mutáveis, assim como a maioria dos métodos que o tipo bytes possui.

bytearray é muito semelhante a uma string regular em python, mas com uma diferença importante, enquanto strings são imutáveis, bytearrays são mutáveis, parecido com uma lista de caracteres simples, ou seja, uma string.

É útil porque alguns aplicativos usam sequências de bytes que executam mal com strings imutáveis.

Quando você está fazendo muitas alterações pequenas no meio de grandes blocos de memória, como em um mecanismo de banco de dados ou biblioteca de imagens, as sequências de caracteres têm um desempenho muito ruim, pois tem que ser feita uma cópia da string inteira (possivelmente grande).

bytearrays tem a vantagem de tornar possível fazer esse tipo de mudança sem primeiro fazer uma cópia da memória antes.

Esse caso em particular é mais a exceção do que a regra.

A maioria dos usos envolve comparação de strings ou formatação de strings.

Com isso encerramos mais essa aula. 🙂

Voltar para página principal do blog

Todas as aulas desse curso

Aula 06                 Aula 08

Curta a página do Código Fluente no Facebook.
https://www.facebook.com/

Vou deixar meu link de referidos na digitalocean pra vocês.

Quem se cadastrar por esse link, ganha $100.00 dólares de crédito na digitalocean:

Digital Ocean

Esse outro link é da one.com:

One.com

Obrigado, até a próxima e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>