|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 7 ![]() |
Bonjour à tous,
est il possible de créer des listes dont le nom a été généré automatiquement, comme à l'aide de ce code. Le résultat donne donc une liste de string. Ce que je veux faire, c'est créer autant de liste qu'il y a d'item dans la liste et que leur nom soit celui des strings de la liste "liste_depart" Est ce possible ? Merci
|
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 941 ![]() |
Salut,
Pour un petit code il est mieux de l'insérer directement dans ton message. Avec les balises qui vont bien. Code :
("liste"+str(i)) étant une string générée par le code et commence par le terme donné. Peut-être qu'un exemple de listes d'entrée et de sortie sera plus clair. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 7 ![]() |
Salut, merci pour ta réponse.
Je pense que je viens de trouver dans le FAQ. Et oui je me suis précipité dsl. Donc à partir de la liste que génère le code, je veux créer des listes à part entière qui auront comme nom les strings de la liste générée. http://python.developpez.com/faq/ind...es#GenStrDecla |
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 7 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 | ||||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Je pense que tu n'as eu le déclic, mais la réponse est bel et bien dans le lien que tu donnes. Par contre la fonction exec est une grosse faille de sécurité car en tant qu'utilisateur on peut modifier le script qui est en train de s'exécuter. Code :
Code :
Pfeuh |
||||
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Mon boulot ?? En ce moment, j'me l'demande... Inscription : novembre 2004 Messages : 77 ![]() |
Bonjour,
Ou alors je ne suis pas sur d'avoir compris la question mais la réponse ne réside-t-elle pas dans la fonction exec tel que c'est expliqué dans la FAQ ? Code :
Edit : J'ai été moins rapide.. |
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Salut,
Pour créer une liste vide nommée "foo", il suffit de créer l'entrée directement dans globals(). Code :
- W
__________________
Architectures Post-Modernes |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
|
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
@roro34570
Niveau concept, on peut savoir quel est l'intérêt de faire ce genre de choses, car là je vois pas. Peux-tu nous donner la problématique, car ce genre de solutions est très rarement utilisée? La résultant étant n listes vides, il est nettement plus judicieux de faire Code :
Donc si on pouvait connaître ton problème, on pourrait plus facilement te donner des solutions adaptées...
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
||
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Citation:
Avec une liste de listes, on n'a plus que des index. Ca fonctionne mais si les lignes sont des "catégories", il faudra avoir un mapping nom => index "à côté" pour se rappeler à quoi cela correspond. Le seul défaut est peut être de vouloir ranger cela dans globals() plutôt que dans un dict "particulier". - W
__________________
Architectures Post-Modernes |
|
|
|
00
|
|
|
#11 | |||
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
Citation:
Eh bien oui, au cas où tu ne veux pas les index, le dictionnaire est plutôt sympa. Code :
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 7 ![]() |
Mon but est en fait d'apprendre l'utilisation des classes. Donc je me suis donné un exercice : Des tirages aléatoires de nombres, comme au loto. Préalablement, on demande à l'utilisateur combien de série de tirage il désire et combien de numéro tiré pour chaque série.
En tout cas merci pour toutes ces réponses. L'utilisation de globals() me satisfait beaucoup |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() ![]() Lycéen Inscription : novembre 2012 Messages : 35 ![]() |
Bonsoir,
Tu devrais éviter d'utiliser globals(), on sait jamais en cas de fausse manœuvre tu peux supprimer toutes les références que contient le dictionnaire et ça serait assez désastreux pour le bon déroulement de ton programme. Surtout que pour apprendre à utiliser les classes, il y a plus simple ! Je sais pas, un mini jeu vidéo en console ça permet d'approcher toutes les facettes de la POO tout en restant relativement ludique ! Bonne chance |
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Citation:
Il est particulier puisque c'est là que sont rangées les variables "globales" mais ce ne sont que celles du module courant. Et un module dans son utilisation est proche d'une classe (on ne peut en hériter). Citation:
Fabriquer cette suite de tirages aléatoires se réduit à l'appel d'une fonction tirage(n) qui retournera une liste de n nombres aléatoires. C'est bien car il faut bien commencer par les fonctions. Mais bien trop simple pour apprendre à utiliser les classes. Au cas où le tutoriel est quand même le chemin le plus indiqué pour débuter en faisant le tour de Python. Vous faites comme vous voulez mais sans vision d'ensemble, vous risquez de perdre beaucoup de temps sur certains sujets. Non qu'ils sont difficiles, juste parce que vous n'avez pas encore les bases, les repères,... qui vous permettront de relativiser l'essentiel et l'important. - W
__________________
Architectures Post-Modernes |
||
|
|
00
|
|
|
#15 | |||
|
Expert Confirmé Sénior
![]() ![]() Frédéric Ingénieur développement logiciels Inscription : février 2006 Messages : 3 496 ![]() |
Citation:
Comme le dit fred1599, plutôt que de faire un truc de ce style tirage1=... tirage2=... tirage3=... et créer une usine à gaz pour remplacer cette énumération par un élément créateur de nom de variable, autant passer par un tableau justement fait pour ça !!! Code python :
Ou, encore plus simplement Code python :
tirage=[fonction_qui_renvoie_une_liste_de_no() for i in xrange(nb_tirage)] Et ensuite, te suffit de demander tirage[x] quand tu veux accéder au tirage n° x... Mouais. En effet pourquoi faire simple quand...
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit. Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant. Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation. Dr. Adrian Rogers, 1931 |
|||
|
|
00
|
|
|
#16 | ||||||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Si le sujet est de faire des "class" plutôt qu'enfouir l'intention dans des index pourquoi ne pas écrire:
Code :
Code :
Code :
(et oui on peut faire plus court et plus rapide, mais quelle importance?) - W
__________________
Architectures Post-Modernes |
||||||
|
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Pierre Quentel Inscription : novembre 2009 Messages : 10 ![]() |
Bonjour,
Juste un commentaire sur la génération d'un tirage : avec Code :
[ random.randint(0,100) for _ in range(count) ] renvoie 6 nombres tirés au hasard parmi les entiers de 1 à 49 inclus |
|
|
00
|
|
|
#18 | ||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Bonne remarque.
Patchons (ou more class features) Code :
__________________
Architectures Post-Modernes |
||
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 7 ![]() |
Ok, merci à tous pour ces réponses. J'étais déjà sur le tutoriel de Gérard Swinnen, mais je voulais sortir un peu des sentiers battus
En plus j'ai zappé les bibliothèques. Je vais y retourner en faisant les choses dans l'ordre.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com