J'essayais de faire correspondre deux chaînes ensemble à l'aide de la boucle for et j'ai dû utiliser les fonctions range (len (my_string)) pour parcourir ses index.
Voici mon code:
my_string = 'something'
key = 'something else'
for i in range(len(my_list)):
if my_string[i] == key[i]:
# do something
Je me demandais s'il y avait un moyen meilleur ou plus efficace de parcourir les index sans utiliser les fonctions len () et range (), peut-être en traitant la chaîne comme une liste.
quelque chose comme ça (je sais que ce n'est pas correct):
for i in my_string:
if my_string[i] == key[i]:
# rest of the code
1 réponse
Vous ne semblez pas avoir besoin de l'index du tout, alors juste Zip *: français leur:
for m, k in zip(my_string, key):
if m == k:
# rest of the code
Si vous avez besoin de l'index, énumérer travaux:
for i, m in enumerate(my_string):
if m == key[i]:
# rest of the code
et peut être combiné avec zip
:
for i, (m, k) in enumerate(zip(my_string, key)):
if m == k:
# rest of the code
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.