0
votes

Comment puis-je convertir cette liste Random.choices Python à une chaîne?

Je fais un bot de discorde à l'aide de Python, Je veux que le bot réagisse avec un message aléatoire, qui fonctionne bien en utilisant aléatoire.choice Cependant, je voulais ajouter quelque chose. J'ai trouvé que avec aléatoire.choices (docs Voici ) Vous pouvez ajouter des poids à votre liste, de sorte que certains sont choisis plus fréquemment, puis d'autres. À l'heure actuelle, j'ai: xxx

Cependant, cela donne à cette sortie dans la discussion: ['TestMessagecommon1] [' TestMessagerare1 '] . etc

J'ai essayé: réponse = str (aléatoires.choices (brankos_gretites, poids, k = 1))

et attendre canal.send (STR (réponse))

et réponse = aléatoire.choiices (brankos_greetings, poids, k = 1) .strip ('[]')

et wait canal.send (réponse.strip (["['']))

mais rien ne fonctionne.

Donc, ma question est la suivante: comment puis-je convertir cela liste ici à une chaîne?


6 commentaires

J'ai oublié d'ajouter ça


J'ai essayé ça aussi


Une question rapide: où sont les ['qui dis'] et ['hi'] venant de? S'agit-il de ce que vous avez dans brankos_greetips ?


Désolé, c'est ce que dit le bot, mais je l'ai changé à quelque chose de mieux à comprendre dans la liste actuelle.


C'est à propos de [] et '' autour des mots


Merci pour la clarification. Ma réponse est affichée ci-dessous.


3 Réponses :


1
votes

Je pense que cela pourrait fonctionner réponse = "" .Join (réponse)


0 commentaires

1
votes

Vous pouvez utiliser la méthode Join () pour rejoindre le tableau des chaînes ensemble.

response = ' '.join(random.choices(brankos_greetings, weights, k = 1))


0 commentaires

0
votes

aléatoire.choices () code> renvoie un résultat en tant que liste. Depuis que vous avez k = 1 code>, cela signifie que le résultat renvoyé sera une liste avec un élément. Pour envoyer cet élément sous forme de message, vous devez indexer et accéder à cet élément. En d'autres termes,

response = random.choices(brankos_greetings, weights, k = 1)
await channel.send(response[0]) # index the first (zeroth) element


2 commentaires

Merci beaucoup, cela le corrigé!


Heureux ça aidé!