Aprenda a estrutura de dados da lista Python - Parte 1

Aprenda a estrutura de dados da lista Python - Parte 1

Estrutura de dados é uma coleção de tipos de dados, o relacionamento entre eles e as funções ou operações que podem ser aplicadas nos dados. Tipo de dados pode ser corda, Inteiro, Valor flutuante e assim por diante.

Qual é a diferença entre objeto mutável/imutável?
Objetos mutáveis
  1. Objetos cujo estado podem ser alterados assim que for criado, como adicionar, atualizar ou excluir elementos.
  2. Listas, dicionário, conjunto, bytearray são tipos de objetos mutáveis ​​em python.
Objetos imutáveis
  1. O estado do objeto não pode ser modificado. Depois que o objeto é criado, não podemos adicionar, remover ou atualizar elementos.
  2. String, número inteiro, tuplas, Frozenset são alguns dos tipos de objetos imutáveis ​​em Python.
Qual é a diferença entre a estrutura de dados homogênea/heterogênea?
  1. Estrutura de dados homogêneos - Os elementos de dados serão do mesmo tipo de dados (Ex: Array).
  2. Estrutura de dados heterogêneos - Os elementos de dados podem não ser do mesmo tipo de dados (ex: lista, tuplas, conjuntos etc.).
O que são tipo de dados primitivo e não primitivo?
Tipos de dados primitivos e não primitivos

Antes de entender a funcionalidade da estrutura de dados interna, vamos ver algumas funções internas que serão usadas com objetos de estrutura de dados.

  • dir (obj) - uma função interna que retornará o atributo e os métodos.
  • Len (OBJ) - Retornar o comprimento (o número de itens) de um objeto. O argumento pode ser uma sequência (como uma string, bytes, tupla, lista ou intervalo) ou uma coleção (como um dicionário, conjunto ou conjunto congelado).
  • del - Essa palavra-chave embutida é usada para excluir um objeto de um espaço para nome ou remover itens de um objeto como uma lista, dicionário, etc ...…
  • Tipo (OBJ) - A função type () retorna o tipo de objeto ou retorna um novo objeto de tipo com base nos argumentos aprovados.
  • eu ia() - Esta função retorna a "identidade" de um objeto. Este é um número inteiro que é garantido para ser único e constante para esse objeto durante sua vida.

Agora, como você viu poucos detalhes importantes, continuemos com as estruturas de dados Python.

Pitão Vem com embutido estruturas de dados bem como os usuários podem definir suas próprias estruturas de dados. A estrutura de dados embutida inclui LISTA, DICIONÁRIO, Tupla, e DEFINIR. Alguns dos exemplos para estruturas de dados definidos pelo usuário são PILHA, Filas, ÁRVORE, Hashmap, etc ..

Pessoas vindas de outras linguagens de programação estarão muito familiarizadas com um tipo de matriz. Mas em Python, eles não são tão comuns.

Aqui, a lista é semelhante a uma matriz, mas a lista nos permite armazenar valores de qualquer tipo de dados (heterogêneo), enquanto a matriz mantém dados de apenas tipo específico (int, float etc ...). Para usar a matriz, você deve importar a matriz do módulo "Array" explicitamente.

Nesta série de artigos em Python, estaremos analisando o que é um estrutura de dados e Estrutura de dados embutida em python.

Parte 1: Estrutura de dados Python - Lista Parte 2: Estrutura de dados Python - Tuplas Parte 3: Estrutura de dados Python - Dicionário Parte 4: Estrutura de dados Python - Definir/Frozenset

LISTA

Lista é uma estrutura de dados que é uma coleção de diferentes tipos de dados. O que "Coleção de diferentes tipos de dados" significa? Lista pode armazenar cordas, números inteiros, valores de ponto flutuante, lista aninhada e assim por diante.

Lista Objetos são “Mutável”O que significa que os itens criados dentro da lista podem ser acessados, modificados ou excluídos. Lista de índice de suporte. Cada item nas listas é atribuído a um endereço e esse endereço pode ser usado para acessar ou modificar o valor específico do item.

  • Crie uma lista
  • Lista de inserir/acessar/modificar
  • Excluir lista

CRIAR LISTA

A lista pode ser criada usando colchetes quadrados.

>>> name_empty = [] # Lista vazia >>> name = ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] # list with string type de dados de dados >>> name_int = [1,2,3] # Lista com tipo de dados inteiro >>> name_mixed = [name_int, nome, 1,2,3.14] # Lista com itens de lista aninhados. >>> name_mixed [[1, 2, 3], ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'], 1, 2, 3.14] >>> name_int [1, 2, 3] 

Podemos usar embutido tipo() função para verificar o tipo de objeto.

>>> Tipo (nome) 
Criar lista em Python

Podemos acessar o métodos e atributos do lista instância usando dir () função.

>>> dir (nome) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq', '__format', '__doc__t', '__eq', '__format', '__doc__t' __getr, ', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__New__', '__Reduce__', '__Reduce_Ex__', '__repr__', '__reversed__', '__rmul__', '__setatTr__', '__setItem__,' __sizeof ',' __st__ ', ',' Clear ',' Copy ',' Count ',' Extend ',' Index ',' Insert ',' Pop ',' Remover ',' Reverse ',' Sort '] 

Podemos descobrir o número total de itens na lista usando Len () método.

>>> len (nome) 

Podemos criar uma nova lista a partir de uma lista existente usando lista.cópia de() método.

>>> name_new = nome.copy () >>> name_new ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] 
Verifique os métodos e atributos da lista

Lista de inserção / acesso / modificação

Podemos inserir um item em uma lista em qualquer posição usando lista.inserir (i, x) método.

>>> Nome = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome ['Leo', 'Matt', 'Kane', 'Scott' , 'Petter', 'will'] >>> nome.Inserir (0, 'tom') # Inserir o método leva 2 argumentos (posição do índice, item) >>> nome ['tom', 'leo', 'matt', 'kane', 'scott', 'petter', ' Will '] # Tom é inserido na posição 0. 
Insira itens na lista

Podemos usar lista.Anexar (x) Método para anexar um único item na lista. Isso inserirá o item no final da lista.

>>> nome = [] >>> len (nome) 0 >>> nome.Anexar ('Leo') >>> Nome.Anexar ('Matt') >>> Nome.Anexar ('Kane') >>> print (nome) ['Leo', 'Matt', 'Kane'] 
Anexar o item na lista

Podemos usar lista.ampliar() Método para adicionar vários itens à lista.

>>> new_name = ['gowtham', 'martin', 'luis'] >>> nome.Extend (new_name) >>> nome ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', ' Luis '] 
Adicione vários itens para listar

Também podemos usar '+' operador para combinar duas listas. Ambos a lista podem ter diferentes tipos de dados.

>>> a = [1,2,3] >>> b = [2,3,3] >>> c = a + b >>> c [1, 2, 3, 2, 3, 3]> >> d = ['karthi', 'kenny'] >>> e = a + d >>> e [1, 2, 3, 'karthi', 'kenny'] 
Combine duas listas em Python

Como já declarado, os objetos são mutáveis. Um item de lista pode ser modificado referenciando a posição do índice e atribuindo valor a ele.

>>> Nome # Antes de modificar ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome [0] = 'Karthi' >>> Nome # After modificado ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] 
Modificar o item da lista por posição do índice

O lista suporta indexação positiva e negativa.

A indexação começa em 0 e a indexação negativa começa em -1.

Indexação Python

Podemos acessar o item da lista usando sua posição de índice.

>>> Nome [0] # Acessando o item da lista no índice 0 'leo' >>> Nome [1] 'Matt' >>> Nome [4] 'Petter' >>> Nome [5] 'Will' >> > Nome [-1] # Acessando o item da lista com indexação negativa 'Will' >>> Nome [-6] 'Leo' 
Item da lista de acesso usando a posição do índice

Também podemos usar o fatiamento para acessar os itens da lista. O fatiamento nos permite acessar uma variedade de itens, definindo os parâmetros iniciais, finais e de etapas.

# Sintaxe: Lista [posição inicial, posição final, etapa] >>> Nome [0: 3] ['Tom', 'Leo', 'Matt'] >>> Nome [:] ['Tom', 'Leo' , 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome [: 4] ['Tom', 'Leo', 'Matt', 'Kane'] >>> Nome [: -2] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott'] >>> Nome [:-1] ['Tom', 'Leo', 'Matt', 'Kane ',' Scott ',' Petter '] >>> Nome [:-1: 2] [' Tom ',' Matt ',' Scott '] 
Gama de itens de acesso na lista

Podemos encontrar o número de ocorrência para um determinado valor usando lista.contagem (x) método.

>>> name_int = [1,1,2,3,1] >>> name_int.contagem (1) 3 
Encontre ocorrência de valor

Podemos encontrar a posição do índice de um determinado item usando lista.ÍNDICE (X [, Start [, fim]]) método.

>>> nome # inserido 'will' no final da lista. Agora temos 2 nome 'Will'. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will'] >>> Nome.Índice ('Will) # Retorna a posição do índice da primeira ocorrência de x. 0 >>> nome.Índice ('Will', 2) # Índice de partida Positon'2 'é dado. 7 >>> nome.Índice ('Will', 2,4) # A posição de índice inicial e final é fornecida. Como não há ocorrência de 'vontade' dentro da posição de pesquisa, ele lançará um erro de valor. Traceback (chamada mais recente): Arquivo "", linha 1, no ValueError: 'Will' não está na lista 

Podemos usar lista.reverter() método para reverter os itens na lista.

>>> Nome ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome.reverse () >>> nome ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi'] 
Itens reversos na lista

Excluir lista

Podemos usar lista.pop (x) método para remover um item de uma lista em x posição. Esta função removerá o item da lista e exibirá o item removido. Se x não é especificado então pop () o método retornará o último item da lista.

>>> Nome ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']> >> nome.pop (0) 'will' >>> nome ['petter', 'scott', 'kane', 'matt', 'leo', 'karthi', 'will', 'gowtham', 'martin', 'luis' '] >>> nome.pop () 'luis' 

Também podemos usar lista.Remover (x) Método para remover o item da lista. Aqui x aceita o valor do item e joga um ValueError se x não está na lista.

>>> Nome = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome.Remover ('Leo') >>> nome ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nome.Remover ('Leo') Traceback (Chamada mais recente por último): Arquivo "", linha 1, no ValueError: List.Remova (x): x não na lista 

Podemos fazer uma lista vazia atribuindo o nome da lista a suportes quadrados ou usando lista.claro() método.

>>> nome1 = nome.cópia () >>> name1 ['petter', 'scott', 'kane', 'matt', 'leo', 'karthi', 'will', 'gowtham', 'martin'] >>> nome [' Petter ',' Scott ',' Kane ',' Matt ',' Leo ',' Karthi ',' Will ',' Gowtham ',' Martin '] >>> Nome = [] >>> Nome [] >> > nome1.claro () >>> name1 [] 

Em vez de usar os métodos de lista para tornar a lista vazia ou remover um item da lista que podemos usar a palavra -chave incorporada del Para executar esta ação. O "Del" A palavra -chave pode excluir um objeto de lista da memória ou excluir um item de uma lista ou excluir um item de uma fatia.

>>> Nome = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> del Name [0] >>> Nome ['Matt', 'Kane' , 'Scott', 'Petter', 'Will'] >>> del Name [-3:] >>> Nome ['Matt', 'Kane'] >>> Del Name [:] >>> Nome [] 

Construídas em eu ia() função retornar o “identidade”De um objeto. Este é um número inteiro que é garantido para ser único e constante para esse objeto durante sua vida.

>>> ID (Nome) 139979929658824 >>> Del Nome >>> id (nome) traceback (chamada mais recente): arquivo "", linha 1, no nome: Nome 'nome' não está definido 

Observação: Removemos a variável da lista da memória usando del (), Portanto, lança erro de nome.

Ajuda () Função: 

Ajuda incorporada função() é muito útil para obter detalhes sobre um objeto ou métodos específicos desse objeto.

ajuda (objeto) ajuda (objeto.método) 
Resumo

Até agora neste artigo, vimos como podemos usar um Listar a estrutura de dados Para armazenar, acessar, modificar, excluir objetos da lista usando os métodos da lista. Também vimos algumas funções internas como eu ia(), dir (), tipo(), ajuda() que são funções muito eficazes. Também temos a compreensão da lista em Python, que fornece uma maneira mais concisa e legível de criar uma lista.