IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[combinatoire] Explication de code demandée


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut [combinatoire] Explication de code demandée
    Bonjour à tous,

    Je ne suis absolument pas familier avec le langage Python et je dois analyser un programme écrit avec.
    Seul ce bout de code m'est complétement opaque.
    Pouvez-vous m'aider ?
    Merci par avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def cross(args):
    	""" There we are! the magic happen here... make the cross product"""
    	ans = [[]]
    	for arg in args:
    		ans = [x + [y] for x in ans for y in arg]
    	return ans

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    la fonction cross prend en argument une liste d'iterables (une liste de listes ou une liste de tuples par exemple) et fait le produit croisé de chaque élément de chacun des iterables
    un exemple sera probablement plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> cross([(1, 2), (3, 4)])
    [[1, 3], [1, 4], [2, 3], [2, 4]]
    ça revient à la même chose que la fonction product() du module itertools :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> [i for i in itertools.product((1,2), (3,4))]
    [(1, 3), (1, 4), (2, 3), (2, 4)]

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Merci bufferBob,

    Dans mon cas, la donnée est une requête composé de paramètre dont les valeurs possible par paramètre sont multiple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    http://....?paramA=valA&paramB=valB...
    valA = [1,2,3,4]
    valB = [t,y,u,i,o,p]
    Une idée sur comment transcrire cela en Java ?

    Merci.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    non, je ne parle pas suffisamment Java, mais comme tu l'as sûrement surement lu en allant regarder la doc de itertools.product() il s'agit simplement d'effectuer un produit cartésien sur des listes ou des sets, partant de là tu peux probablement poser la question dans le forum ad-hoc adhoc

Discussions similaires

  1. Demande d'explication de code std::find_if
    Par Kalite dans le forum C++
    Réponses: 2
    Dernier message: 28/02/2014, 14h46
  2. [Débutant] Demande d'explication de code
    Par vahan dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/02/2014, 20h02
  3. Demande d'explication de code
    Par nor99 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2013, 14h35
  4. demande d'explication de code
    Par kawther dans le forum Débuter
    Réponses: 4
    Dernier message: 14/10/2008, 22h05
  5. demande d'explication de code
    Par fox1976 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/09/2006, 22h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo