Afficher le contenu de deux listes
Résolu/Fermé
speedy_souris
Messages postés
53
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
28 février 2019
-
Modifié le 24 nov. 2018 à 21:22
speedy_souris Messages postés 53 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 28 février 2019 - 26 nov. 2018 à 16:26
speedy_souris Messages postés 53 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 28 février 2019 - 26 nov. 2018 à 16:26
A voir également:
- Afficher le contenu de deux listes
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Afficher mot de passe wifi android - Guide
- Deux ecran pc - Guide
- Deux comptes whatsapp - Guide
5 réponses
speedy_souris
Messages postés
53
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
28 février 2019
Modifié le 24 nov. 2018 à 23:41
Modifié le 24 nov. 2018 à 23:41
Bonsoir tydus,
dans le doute,
le résultat est identique : toute les listes de la listeB sont rajouté à chaque tour de boucle:
[liste1] ==> listeA
[liste1] ==> listeB
------
[liste2] ==> listeA
[liste1] ==> listeB
[liste2] ==> listeB
-----
[listeN] ==> listeA
[liste1] ==> listeB
[liste2] ==> listeB
-------
[listeN] ==> listeB
dans le doute,
for nb_1, elt_1 in enumerate(sub_product): nb_val_1 = 0 while nb_val_1 < 6: for val_1, data_1 in elt_1[nb_val_1].items(): print(f"{val_1.upper()} : {data_1}") nb_val_1 += 1 print() for nb_2, elt_2 in enumerate(product_sub): nb_val_2 = 0 while nb_val_2 < 6: for val_2, data_2 in elt_2[nb_val_2].items(): print(f"{val_2.upper()} : {data_2}") nb_val_2 += 1 print() if nb_1 == nb_2: break else: continue
le résultat est identique : toute les listes de la listeB sont rajouté à chaque tour de boucle:
[liste1] ==> listeA
[liste1] ==> listeB
------
[liste2] ==> listeA
[liste1] ==> listeB
[liste2] ==> listeB
-----
[listeN] ==> listeA
[liste1] ==> listeB
[liste2] ==> listeB
-------
[listeN] ==> listeB
Bonjour speedy_souris.
Je ne comprend pas bien ce que tu désires obtenir.
Si j'ai bien saisi, sub_product et poduct_sub sont des listes de listes de dictionnaires.
Mais les structures des dictionnaires sont-elles identiques ?
Ne pourrais-tu pas utiliser zip pour parcourir les 2 listes simultanément ?
Sinon, il faudrait en montrer plus avec un exemple des structures et l'affichage que tu désires obtenir.
Je ne comprend pas bien ce que tu désires obtenir.
Si j'ai bien saisi, sub_product et poduct_sub sont des listes de listes de dictionnaires.
Mais les structures des dictionnaires sont-elles identiques ?
Ne pourrais-tu pas utiliser zip pour parcourir les 2 listes simultanément ?
Sinon, il faudrait en montrer plus avec un exemple des structures et l'affichage que tu désires obtenir.
speedy_souris
Messages postés
53
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
28 février 2019
Modifié le 26 nov. 2018 à 12:33
Modifié le 26 nov. 2018 à 12:33
Bonjour tydus,
Oui mes structures de listes sont identiquent
voici quelques infos:
1)le script affiche une categorie de produit alimentaire
2)choix par un utilisateur d'une categorie de produit
3)une liste de choix de produit de la categorie choisi s'affiche
4)choix par l'utilisateur d'un produit ==> listeA [
{nom_produit : 'produit'},
{description_produit : 'description'},
{grade_nutritionnel : 'grade de A à E'},
{magasin_produit : 'magasin'},
{url_fiche_produit : 'url'}
]
5)le script affiche une liste de trois produit avec meilleur grade nutritionnel
6)choix ou pas par l'utilisateur d'un des trois produit ==> listeB [
{nom_produit : 'produit'},
{description_produit : 'description'},
{grade_nutritionnel : 'grade de A à E'},
{magasin_produit : 'magasin'},
{url_fiche_produit : 'url'}
]
7) le script affiche le produit choisi et ses caracteristique (listeA),
puis le produit substitué est ses caracteristique (listeB)
Je pense que le plus simple est d'afficher une boucle sur produit 1 listeA, un boucle produit 1 listeB
sur produit 2 liste A, un boucle produit 1 listeB
...etc
Oui mes structures de listes sont identiquent
voici quelques infos:
1)le script affiche une categorie de produit alimentaire
2)choix par un utilisateur d'une categorie de produit
3)une liste de choix de produit de la categorie choisi s'affiche
4)choix par l'utilisateur d'un produit ==> listeA [
{nom_produit : 'produit'},
{description_produit : 'description'},
{grade_nutritionnel : 'grade de A à E'},
{magasin_produit : 'magasin'},
{url_fiche_produit : 'url'}
]
5)le script affiche une liste de trois produit avec meilleur grade nutritionnel
6)choix ou pas par l'utilisateur d'un des trois produit ==> listeB [
{nom_produit : 'produit'},
{description_produit : 'description'},
{grade_nutritionnel : 'grade de A à E'},
{magasin_produit : 'magasin'},
{url_fiche_produit : 'url'}
]
7) le script affiche le produit choisi et ses caracteristique (listeA),
puis le produit substitué est ses caracteristique (listeB)
Je pense que le plus simple est d'afficher une boucle sur produit 1 listeA, un boucle produit 1 listeB
sur produit 2 liste A, un boucle produit 1 listeB
...etc
speedy_souris
Messages postés
53
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
28 février 2019
Modifié le 26 nov. 2018 à 13:58
Modifié le 26 nov. 2018 à 13:58
Voici mon nouveau code,
je ne comprend pas pourquoi cet erreur list index out of range...
loop = 0 first = 0 last = 1 while loop < len(sub_product): print(f"Produit Choisi N°{loop + 1}") print("======= ====== ====") print() for elt_1 in sub_product[first:last]: nb_val_1 = 0 while nb_val_1 < 6: for val_1, data_1 in elt_1[nb_val_1].items(): print(f"{val_1.upper()} : {data_1}") nb_val_1 += 1 print() print(f"Produit Substitué N°{loop + 1}") print("======= ========= ====") print() for elt_2 in product_sub[first:last]: nb_val_2 = 0 while nb_val_2 < 6: for val_2, data_2 in elt_2[nb_val_2].items(): print(f"{val_2.upper()} : {data_2}") nb_val_2 += 1 print() first += 1 last += 1 loop += 1
je ne comprend pas pourquoi cet erreur list index out of range...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
speedy_souris
Messages postés
53
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
28 février 2019
26 nov. 2018 à 16:26
26 nov. 2018 à 16:26
Grrr, encore cette erreur de comptage à partir de zéro, je finairai bien par y arrivé ....
remplacer la condition de la boucle while par < 5 (ligne 10 & 21)
et ca fonctionne à merveille !
remplacer la condition de la boucle while par < 5 (ligne 10 & 21)
et ca fonctionne à merveille !