web-dev-qa-db-fra.com

Compter le nombre d'éléments dans une chaîne séparés par une virgule

Je traite des chaînes de texte telles que les suivantes: LN1 2DW, DN21 5BJ, DN21 5BL, ...

En Python, comment puis-je compter le nombre d'éléments entre virgules? Chaque élément peut être composé de 6, 7 ou 8 caractères, et dans mon exemple, il y a 3 éléments illustrés. Le séparateur est toujours une virgule.

Je n'ai jamais rien fait concernant l'exploration de texte, ce serait donc un début pour moi.

8
FaCoffee

Vous pouvez compter le nombre de virgules:

text.count(",") + 1
# 3
19
Psidom

Si la virgule (,) Est le séparateur, vous pouvez simplement utiliser str.split sur la chaîne puis len(..) = sur le résultat:

text = 'LN1 2DW, DN21 5BJ, DN21 5B'
number = len(text.split(','))

Vous pouvez également réutiliser la liste des éléments. Par exemple:

text = 'LN1 2DW, DN21 5BJ, DN21 5B'
tags = text.split(',')
number = len(tags)
#do something with the `tags`
9
Willem Van Onsem

Willien et Psidom ont déjà mentionné count,

Je voulais juste ajouter que dans python une chaîne est également itérable, ainsi la compréhension de la liste pourrait également être appliquée:

n = len([c for c in ','+text if c==','])

Ou

n = sum(1 for c in ','+text if c==',')
2
Uri Goren