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 :

renvoyer les éléments d'une liste sans virgule


Sujet :

Python

  1. #1
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut renvoyer les éléments d'une liste sans virgule
    Bonjour,
    J'ai une liste de nombres entiers quelconque L , et mon but est de renvoyer toutes les valeurs de la liste alignées sans virgules.
    Exemple :
    L=[1,2,34,56,89,76,90,45]
    résultat : 12345689769045

    Est ce que quelqu'un connaîtrait une fonction python qui me permettrait de réaliser cela ? Ça m'aiderait beaucoup.
    Merci d'avance.

  2. #2
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> ''.join(str(v) for v in L)
    '12345689769045'

  3. #3
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    où encore,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> L=[1,2,34,56,89,76,90,45]
    >>> ''.join(map(str, L))
    '12345689769045'
    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)

  4. #4
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str(L).strip('[]').replace(',', '').replace(' ', '')
    Le temps ronge l'amour comme l'acide.

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Moins pythonique mais plus pédagogique ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> L=[1,2,34,56,89,76,90,45]
    >>> ch=""
    >>> for el in L:
    ...     ch=ch+str(el)
    ... 
    >>> print(ch)
    12345689769045
    Pas compliqué de passer en fonction ensuite.
    Pas d'aide par mp.

  6. #6
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup pour vos réponses,
    si ce n'est pas trop demandé est ce que quelqu'un connaîtrait un moyen d’effectuer l'opération inverse,c'est à dire que je dispose d'une suite de nombres quelconques , exemple : 123345566777878 et que je stocke chacun d'entre eux dans une liste ?
    Merci d'avance.

  7. #7
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    si ce n'est pas trop demandé est ce que quelqu'un connaîtrait un moyen d’effectuer l'opération inverse,c'est à dire que je dispose d'une suite de nombres quelconques , exemple : 123345566777878 et que je stocke chacun d'entre eux dans une liste ?
    Euh... et comment savoir où mettre la séparation entre chaque nombre ?

  8. #8
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Il faut une virgule entre chaque chiffre

  9. #9
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Si c'est la décomposition d'un nombre...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> L = 12345689769045
    >>> [int(val) for val in str(L)]
    [1, 2, 3, 4, 5, 6, 8, 9, 7, 6, 9, 0, 4, 5]

  10. #10
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup pour vos réponses.

  11. #11
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    L'inverse strictement à ton problème n'est pas possible, ne connaissant pas la taille de chacun des entiers à afficher. Même si python peut sortir un résultat, ça sera pas forcément celui attendu.
    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)

  12. #12
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Je suis désolé de relancer la discussion mais j'ai un problème avec l'utilisation de vos fonctions afin de convertir une liste de nombre
    en suite de nombres consécutifs ,
    par la suite je dois convertir cette suite de nombres en hexadécimal et ce message d'erreur s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'str' object cannot be interpreted as an integer
    Le fait que ce ne soit pas considérer comme des nombres me pose un problème....comme pourrais-je y remédier ?
    Je vous remercie d'avance.

  13. #13
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> hex(int('12345689769045'))
    '0xb3a74740455'
    ?
    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)

  14. #14
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    En effet , mais le problème est que je ne peux pas utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [int(val) for val in str(L)]
    sur le résultat : '0xb3a74740455'

    Or c'est ce que j'essaye de faire

  15. #15
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par yugure Voir le message
    Sur L=0b1101100100001110010101000101111101111100110
    Ça sort d"où cette valeur ?

    Perso je comprends rien à ton problème, je pense que tu devrais expliquer les étapes successives qui t'amènes à ça, si tant soit peu que c'est ce que tu veux obtenir.
    Le temps ronge l'amour comme l'acide.

  16. #16
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Oui c'est vrai je n'ai pas été assez clair désolé ;
    Voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def fonction(L):
        """"""
        n=""
        for k in L:
            n=n+str(k)
        c=int(n)
        R=int(hex(c))
        [int(i) for i in str(R)]
    Au départ j'ai une liste de nombres quelconques ,par exemple : L=[1,5,7,9,67,89]
    je veux ensuite obtenir ces nombres successivement sans liste : 15796789
    je veux ensuite convertir ceci en hexadécimal : 0xf10a35

    je veux sotcker cela dans une liste : [0,x,f,1,0,a,3,5]
    Toutefois cette étape ne fonctionne pas avec mon code ....j'ai le message d'erreur "invalid literal for int() with base 8"

  17. #17
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Bon je comprends pas trop pourquoi tu veux eclater ta chaine hexa dans une liste

    Si c'est juste pour faire un reverse hexa vers ton int, suffit de faire
    Le temps ronge l'amour comme l'acide.

  18. #18
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Mais ceci ne me permet pas de mettre les chacun des éléments de la série de nombre hexadécimale dans une liste
    j'ai essayé et je ne peut pas utiliser [int(i) for i in str(R)]
    car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'str' object cannot be interpreted as an integer
    s'affiche....

  19. #19
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Bah normal non, tu demandes à convertir une lettre en entier, ça python veut pas le faire, puisque ça n'a pas de sens
    Le temps ronge l'amour comme l'acide.

  20. #20
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Oui c'est vrai ,mais auriez vous une solution pour que je puisse mettre chacun des éléments dans une liste , entiers et chaînes de caractères ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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