Dicionários avançados de Python
- 4453
- 422
- Loren Botsford
Introdução
Você já se familiarizou com os dicionários, mas assim como as outras estruturas de dados suportes python, existem métodos e maneiras mais poderosas de usá -las. Não há tantos métodos para trabalhar com dicionários quanto para listas, mas isso ocorre porque os dicionários simplesmente não precisam deles. Além disso, muitos dos que existem, trabalham para dividir dicionários em listas e tuplas para facilitar o gerenciamento. Portanto, esses métodos de lista podem ser usados em conjunto com os do dicionário para criar uma máquina eficiente para lidar com dados.
Métodos de dicionário
Itens, chaves e valores
Esses métodos funcionam para dividir dicionários em outras estruturas de dados para tornar o trabalho com eles muito mais gerenciável. Fazer isso também fornece acesso aos métodos dessas estruturas de dados. Através dessas combinações de métodos e loops, você pode acessar e manipular dados com facilidade.
O primeiro método é Unid()
. Ele quebra cada entrada no dicionário em uma tupla e armazena todos em uma lista.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'emerge' distro_install_list = distro_install_command.itens () print (distro_install_list) print (distro_install_list [3] [1])
Tudo se decompõe exatamente da maneira que você esperaria.
O próximo método fornece acesso às chaves no dicionário na forma de uma lista.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'emerge' distro_names = distro_install_command.keys () para distro em distro_names: print (distro)
O novo distro_names
A lista se comporta como qualquer outra e pode ser enrolada pela mesma.
O último método é o mesmo antes, mas em vez de recuperar as chaves, este obtém os valores. Deve ser bastante óbvio até agora que é chamado valores ()
.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'Emerge' distro_Commands = distro_install_Command.valores () para comando em distro_commands: print (comando)
Valores do dicionário em cordas
Este não é um método ou qualquer coisa muito complexa, mas as situações surgirão quando você quiser inserir valores diretamente de um hash em uma corda, e não funciona como você pensaria. O %
O operador realmente olha para o dicionário como um todo e extrai valores de chaves dentro dele para substituí -los em uma string.
book_info = 'title': 'Learning Python', 'Páginas': 342, 'pub_date': 'novembro de 2016', 'capítulos': 14, print ("O livro é chamado %(título) s e foi lançado em %(pub_date) s. É %(páginas) d páginas com %(capítulos) d capítulos." % book_info)
Como você pode ver, é apenas uma maneira mais conveniente de lidar com a inserção dos valores de um dicionário. O uso do método regular pode ficar muito repetitivo e pesado, mesmo com apenas algumas entradas.
Iterando sobre dicionários
Iterar sobre dicionários não é tão simples quanto você provavelmente imaginaria. Como os dicionários operam usando pares de valores, a maneira numericamente baseada em loop através de listas não funciona bem. Dê uma chance e veja o que acontece.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'emerge' para distro em distro_install_command: print (distro)
Então o que aconteceu? Funcionou meio que funcionou, mas as únicas coisas que foram produzidas foram as chaves. Você provavelmente pode adivinhar uma maneira de obter os valores também, e funcionará, mas não é tão elegante de uma solução.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'emerge' para distro em distro_install_command: print ("A distro é %s e usa o comando %s." % (distro, distro_install_command [distro])))
Existe uma maneira melhor de lidar com isso, e faz uso do Unid()
método. Se você se lembra de antes, o Unid()
O método cria uma lista de tuplas contendo as chaves e valores do dicionário.
distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSuse': 'zypper', 'arch' : 'Pacman', 'Gentoo': 'emerge' para distro, comando em distro_install_command.itens (): print ("a distro é %s e usa o comando %s." % (distro, comando))
Isso parece voar diante de algo que você aprendeu anteriormente, não? Como isso é para o loop, criando duas variáveis temporárias para acessar os elementos em uma lista bidimensional? Bem, isso é realmente uma funcionalidade incorporada ao python para esse tipo de coisa. Infelizmente, nem sempre funciona bem com listas multidimensionais porque exige que cada lista da lista multidimensional seja do mesmo tamanho. Com um dicionário, você sabe que sempre vai trabalhar com pares de valores, mas listas multidimensionais podem conter listas de qualquer tamanho. É por isso que esta é realmente apenas uma ótima solução ao trabalhar com dicionários.
Conclusão
Usando métodos e iteração, você pode dividir os dicionários em uma forma que é muito mais fácil de trabalhar com. Ao combinar a funcionalidade dos dicionários com a funcionalidade disponível para listas e tuplas, você ganha ferramentas incrivelmente poderosas para lidar com dados.
Índice
- Guia de Introdução e Introdução ao Python
- Arquivos python e o intérprete
- Experimentando números e texto em python
- Variáveis Python
- Trabalhando com variáveis numéricas em Python
- Python String Basics
- Strings avançados de Python
- Comentários de Python
- Listas de Python
- Métodos de lista de Python
- Listas multidimensionais do Python
- Tuplas de Python
- Operadores booleanos em Python
- Python IF Declarações
- Python enquanto loops
- Python para loops
- Dicionários de Python
- Dicionários avançados de Python
- Funções python
Tutoriais do Linux relacionados:
- Mastering Bash Script Loops
- Uma introdução à automação, ferramentas e técnicas do Linux
- Loops aninhados em scripts de basquete
- Como trabalhar com a API de Rest WooCommerce com Python
- Manipulando a entrada do usuário em scripts bash
- Coisas para instalar no Ubuntu 20.04
- Manipulação de big data para diversão e lucro Parte 1
- Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
- Comparando Linux Apache Prefork vs Worker MPMS
- Introdução à YAML com exemplos