Dans la section précédente, nous avons découvert les méthodes de dictionnaire. Dans ce chapitre, nous découvrirons les dictionnaires hybrides, le parcours de dictionnaire et la dérivation de dictionnaire.
Le dictionnaire dit mixte signifie que les données stockées dans le dictionnaire sont un mélange de différents types. Les clés doivent être des types de données immuables, mais les valeurs peuvent être des objets de n'importe quel type.
Regardons d'abord un dictionnaire mixte :
my_dcit={'Xiao Ming' : ['Taille : 170 cm', 'Poids : 65 kg'], 'Xiao Li' : 'J'aime apprendre, j'aime le sport', 'Xiaohua' : ('Résidence : Suzhou', 'Lieu de naissance :Shanghai ')}
Les valeurs de ce dictionnaire sont composées de listes, de chaînes et de tuples. Nous pouvons accéder à ce dictionnaire mixte via la méthode de la section précédente. Regardez le morceau de code suivant
my_dcit={'Xiao Ming' : ['Taille : 170 cm', 'Poids : 65 kg'], 'Xiao Li' : 'J'aime apprendre, j'aime le sport', 'Xiaohua' : ('Résidence : Suzhou', 'Lieu de naissance :Shanghai ')}print('Clé d'accès='Xiao Ming'->',my_dcit['Xiao Ming']) print('Access key='Xiaohua'->',my_dcit['Xiaohua'])print('Access key='Xiaohua'->',my_dcit['Xiaohua'])print('itmes() Méthode :', my_dcit.items())#Access pr global int('keys() méthode :',my_dcit.keys())#Accès uniquement à toutes les keyprint('values() méthode :',my_dcit.values())#Accès uniquement à la méthode valueprint('get() :' ,my_dcit .get('Xiao Ming')) #Méthode get pour accéder à la clé spécifiée my_dcit.pop('Xiao Ming') #Cette étape est la méthode pop(), qui supprimera les éléments appariés avec key = 'Xiao Ming' print (Méthode 'pop() My_dict après :',my_dcit)#Vérifiez le dictionnaire supprimé
Jetez un œil au résultat :
Access key='Xiao Ming'->['Hauteur : 170 cm', 'Poids : 65 kg'] Access key='Xiaohua'->Amour apprendre, aimer le sport access key='Xiaohua'->('Résidence : Suzhou ', 'Lieu de naissance : Shanghai') méthode itmes() : d ict_items([('Xiao Ming',['Hauteur : 170 cm','Poids : 65 kg']),('Xiao Li','Aime apprendre et faire du sport'),('Xiaohua',('Résidence : Suzhou ', 'Lieu de naissance : Shanghai'))])méthodekeys() : d ict_keys(['Xiao Ming','Xiao Li','Xiao Hua'])values() méthode:dict_values([['Hauteur : 170 cm','Poids : 65 kg'],'Amour apprendre, aimer le sport',( 'Lieu de résidence : Suzhou','né Lieu : Shanghai')]) méthode get() : ['Hauteur : 170 cm', 'Poids : 65 kg'] my_dict après méthode pop() : {'Xiao Li' : 'Amour apprendre, aimer le sport', 'Xiaohua' : ("Résidence : Suzhou", "Lieu de naissance : Shanghai")}
Lorsque nous utilisons des dictionnaires, nous devons souvent parcourir le dictionnaire. Nous utilisons généralement une boucle for pour parcourir toutes les clés du dictionnaire.
Jetons un coup d'œil à l'accès traversant en général :
>>>my_dict={1001:'Xiaoming',1002:'Xiaohua',1003:'Xiaozhang'}>>>foriinmy_dict:print(i,my_dict[i])#Clé de sortie et la valeur correspondant à la clé 1001Xiao Ming 1002 Xiaohua 1003 Xiao Zhang
Nous utiliserons également la méthode items() pour obtenir des paires d’éléments lors de l’obtention de l’objet.
>>>my_dict={1001 :'Xiao Ming',1002 :'Xiao Hua',1003 :'Xiao Zhang'}>>>foriinmy_dict.items():print(i)(1001,'Xiao Ming')(1002 ,'Xiaohua')(1003,'Xiao Zhang')
Cette méthode d'accès est une paire de données dans le dictionnaire opposé, et le résultat de sortie est affiché sous la forme d'un tuple. En même temps, la clé et la valeur de chaque parcours peuvent être directement obtenues via un parcours de boucle.
>>>my_dict={1001 :'Xiao Ming',1002 :'Xiao Hua',1003 :'Xiao Zhang'}>>>fori,jinmy_dict.items():print('clé correspondante :',i,'corresponding valeur :',j) Clé correspondante : 1001 Valeur correspondante : Xiao Ming Clé correspondante : 1002 Valeur correspondante : Xiao Hua Clé correspondante : 1003 Valeur correspondante : Xiao Zhang
Enfin, pratiquez le parcours du dictionnaire à travers des exercices.
J'ai déjà entendu parler de la dérivation de liste. La dérivation de tuples est similaire à la dérivation de liste sans beaucoup d'introduction, car les dictionnaires sont relativement spéciaux. Ici, nous expliquerons la dérivation de dictionnaire.
Regardons d’abord une utilisation simple.
>>>my_dict={i:'dotcpp'foriinrange(1,5)}>>>my_dict{1:'dotcpp',2:'dotcpp',3:'dotcpp',4:'dotcpp'}
Nous examinons ici la structure de la dérivation du dictionnaire. La première partie équivaut à utiliser 'dotcpp' pour attribuer la valeur de chaque i. Nous pouvons également définir d'abord une liste et lui attribuer la valeur de la liste.
>>>my_list=[10,20,30,40,50]>>>my_dict={i:my_list[i]foriinrange(1,5)}>>>my_dict{1:20,2:30,3 : 40,4:50}
Regardez l'image ci-dessous :
Lors de l'utilisation de la dérivation par dictionnaire, le principal problème est la correspondance des clés et des valeurs. Après avoir appris la fonction plus tard, nous pouvons utiliser la fonction zip() pour combiner plus facilement les dictionnaires. Nous ne la présenterons pas trop ici.
L'utilisateur doit saisir le total des actifs, par exemple : 3000, puis la liste du panier s'affiche et le montant total des articles dans le panier est calculé. Si le montant total des articles est supérieur au total des actifs, cela vous indiquera que le solde du compte est insuffisant. Sinon, l'achat est réussi. La liste du panier est la suivante : carts=[{nom : lit, prix : 1999, "num": 1}, {nom : oreiller, prix : 10, " num " : 2}, {nom : couette, prix : 20, " num”:1}].
La solution est à la fin.
Les dictionnaires sont une structure de données relativement couramment utilisée lors de l'apprentissage de Python. Cependant, en raison de son caractère unique, il peut y avoir relativement peu de mots sur les dictionnaires dans les questions du concours, mais davantage dans l'apprentissage et l'inspection des cours Python. Lors du stockage des données, nous pouvons utiliser des dictionnaires pour nous aider. trouver les données correspondantes avec précision, et maîtriser efficacement les listes et les dictionnaires peut nous aider à mieux apprendre Python.
carts=[{name:bed,price:1999,"num":1},{name:oreiller,price:10,"num":2},{name:quilt,price:20,"num":1} ]. m=int(input())sum=0foriinrange(len(carts)):sum=carts[i]['price']*carts[i]['num']+sumifm>=sum:print('Achat réussi ')else:print('Solde du compte insuffisant')