Na seção anterior, aprendemos sobre métodos de dicionário. Neste capítulo, aprenderemos sobre dicionários híbridos, travessia de dicionário e derivação de dicionário.
O chamado dicionário misto significa que os dados armazenados no dicionário são uma mistura de vários tipos. As chaves precisam ser tipos de dados imutáveis, mas os valores podem ser objetos de qualquer tipo.
Vejamos primeiro um dicionário misto:
my_dcit={'Xiao Ming': ['Altura: 170cm', 'Peso: 65kg'], 'Xiao Li': 'Adoro aprender, adoro esportes', 'Xiaohua': ('Residência: Suzhou', 'Local de nascimento: Xangai ')}
Os valores deste dicionário são compostos por listas, strings e tuplas. Podemos acessar este dicionário misto através do método da seção anterior. Observe o seguinte trecho de código
my_dcit={'Xiao Ming': ['Altura: 170cm', 'Peso: 65kg'], 'Xiao Li': 'Adoro aprender, adoro esportes', 'Xiaohua': ('Residência: Suzhou', 'Local de nascimento: Xangai ')}print('Chave de acesso='Xiao Ming'->',my_dcit['Xiao Ming']) print('Chave de acesso='Xiaohua'->',my_dcit['Xiaohua'])print('Chave de acesso='Xiaohua'->',my_dcit['Xiaohua'])print('itmes() Método:', my_dcit.items())#Acesso geral int('keys() método:',my_dcit.keys())#Acessado apenas todos os keyprint('values() método:',my_dcit.values())#Acessado apenas valueprint('get() método:' ,my_dcit .get('Xiao Ming')) #get método para acessar a chave especificada my_dcit.pop('Xiao Ming') #Esta etapa é o método pop(), que excluirá os elementos emparelhados com key = 'Xiao Ming' print ('pop() método My_dict after:',my_dcit)#Verifique o dicionário excluído
Dê uma olhada na saída:
Chave de acesso='Xiao Ming'->['Altura: 170cm', 'Peso: 65kg'] Chave de acesso='Xiaohua'->Adoro aprender, adoro esportes chave de acesso='Xiaohua'->('Residência: Suzhou ', 'Local de nascimento: Xangai') método itmes(): d ict_items([('Xiao Ming',['Altura: 170cm','Peso: 65kg']),('Xiao Li','Ama aprender e praticar esportes'),('Xiaohua',('Residência: Suzhou ', 'Local de nascimento: Xangai'))])keys() método: d ict_keys(['Xiao Ming','Xiao Li','Xiao Hua'])values() método:dict_values([['Altura: 170cm','Peso: 65kg'],'Adoro aprender, adoro esportes',( 'Local de residência: Suzhou','nascido Local: Xangai')]) método get(): ['Altura: 170cm', 'Peso: 65kg'] my_dict após método pop(): {'Xiao Li': 'Adoro aprender, adoro esportes', 'Xiaohua ': ('Residência: Suzhou', 'Local de nascimento: Xangai')}
Quando usamos dicionários, muitas vezes precisamos percorrer o dicionário. Geralmente usamos um loop for para percorrer todas as chaves do dicionário.
Vamos dar uma olhada no acesso transversal em geral:
>>>my_dict={1001:'Xiaoming',1002:'Xiaohua',1003:'Xiaozhang'}>>>foriinmy_dict:print(i,my_dict[i])#Chave de saída e o valor correspondente à chave 1001Xiao Ming 1002 Xiaohua 1003 Xiao Zhang
Também usaremos o método items() para obter pares de elementos ao obter o objeto.
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>foriinmy_dict.items():print(i)(1001,'Xiao Ming')(1002 ,'Xiaohua')(1003,'Xiao Zhang')
Este método de acesso é um par de dados no dicionário oposto, e o resultado da saída é gerado na forma de uma tupla. Ao mesmo tempo, a chave e o valor de cada travessia podem ser obtidos diretamente por meio da travessia de loop.
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>fori,jinmy_dict.items():print('chave correspondente:',i,'correspondente valor: ', j) Chave correspondente: 1001 Valor correspondente: Xiao Ming Chave correspondente: 1002 Valor correspondente: Xiao Hua Chave correspondente: 1003 Valor correspondente: Xiao Zhang
Por fim, pratique a travessia do dicionário por meio de exercícios.
Já aprendi sobre a derivação de lista. A derivação de tupla é semelhante à derivação de lista sem muita introdução, porque os dicionários são relativamente especiais.
Vejamos primeiro um uso simples.
>>>meu_dict={i:'dotcpp'foriinrange(1,5)}>>>meu_dict{1:'dotcpp',2:'dotcpp',3:'dotcpp',4:'dotcpp'}
Aqui damos uma olhada na estrutura da derivação do dicionário. A primeira parte é equivalente a usar 'dotcpp' para atribuir o objeto de valor de cada i. Também podemos definir primeiro uma lista e atribuir a ela o valor da lista.
>>>minha_lista=[10,20,30,40,50]>>>meu_dict={i:minha_lista[i]foriinrange(1,5)}>>>meu_dict{1:20,2:30,3: 40,4:50}
Veja a foto abaixo:
Ao usar a derivação de dicionário, o principal problema é a correspondência de chaves e valores. Depois de aprendermos a função mais tarde, podemos usar a função zip() para combinar dicionários de maneira mais conveniente.
O usuário é obrigado a inserir o total de ativos, por exemplo: 3.000, então a lista do carrinho de compras é exibida e o valor total dos itens no carrinho de compras é calculado. Se a quantidade total de itens for maior que o total de ativos, isso avisará que o saldo da conta é insuficiente. Caso contrário, a compra será bem-sucedida. A lista do carrinho de compras é a seguinte: carrinhos=[{nome: cama, preço: 1999, "num": 1}, {nome: travesseiro, preço: 10, "num": 2}, {nome: colcha, preço: 20, " num”:1}].
A solução está no final.
Dicionários são uma estrutura de dados relativamente comumente usada ao aprender Python. No entanto, devido à sua singularidade, pode haver relativamente poucas palavras sobre dicionários em questões de competição, mas mais no aprendizado e inspeções do curso de Python. Quando armazenamento de dados Podemos usar dicionários para nos ajudar. encontrar os dados correspondentes com precisão, e dominar listas e dicionários com proficiência pode nos ajudar a aprender melhor Python.
carrinhos=[{nome:cama,preço:1999,"num":1},{nome:travesseiro,preço:10,"num":2},{nome:colcha,preço:20,"num":1} ]. m=int(input())sum=0foriinrange(len(carts)):sum=carts[i]['price']*carts[i]['num']+sumifm>=sum:print('Compra bem-sucedida ')else:print('Saldo da conta insuficiente')