2010-08-29 4 views
1

Je suis resté coincé sur cette idée: comment puis-je obtenir le deuxième mot le plus long dans une phrase? Je vais l'utiliser pour une route de sortie dans mon code où le mot le plus long pourrait échouer à un test. Des idées ? Merci d'avance.Existe-t-il un moyen de trouver le deuxième mot le plus long dans une phrase en Python?

+1

'scinder la phrase en mots, ponctuer' strip', 'trier' les mots par longueur, obtenir le 2ème mot. –

+0

La balise '[process]' n'ajoute aucune information utile, elle devrait être supprimée. – Zaz

Répondre

5

quelque chose comme ceci:

second_longest = sorted(sentence.split(), key=len)[-2] 

Ceci est une définition assez naïve de mot cependant, car il se divise que sur les espaces de sorte que toute ponctuation sera inclus dans le cadre des mots. Vous souhaiterez peut-être filtrer la phrase pour supprimer les caractères de ponctuation en premier.

+0

une belle. Mais mon mauvais, j'ai oublié de donner les détails exacts à la hâte. Ma question réelle impliquant ce problème peut être trouvé à http://stackoverflow.com/questions/3595877/how-to-make-this-random-text-generator-more-efficient-in-python –

+0

résolu ce problème monsieur, merci encore une fois pour l'idée d'initiation. –

Questions connexes