python la boucle while
def merge(l1,l2):
i=0;
while((l1[i]!=none)||(l2[i]!=none)):
SyntaxError: invalid syntaxe
étant un débutant je ne peux pas comprendre quoi de mal avec le abouve code.
OriginalL'auteur Bunny Rabbit | 2010-04-19
Vous devez vous connecter pour publier un commentaire.
Remplacer
||
avecor
, faireNone
majuscule (et de perdre le point-virgule):(Comme vous pouvez le voir, les parenthèses ont également été redondant.)
En outre,
!= None
peut être modifié àis not None
:(Merci à @SilentGhost pour souligné.)
is not None
serait plus pythonicN'hésitez pas à changer la prochaine fois. 😉
OriginalL'auteur Konrad Rudolph
Même plus Pythonic serait quelque chose comme ceci (car on dirait que vous êtes une itération sur les deux listes jusqu'à une frappe d'une 'None' valeur):
En fait, qu'Aucun sentinelles de l'air un peu bizarre. Si c'est quelque chose que vous avez cloué sur la fin, donc vous savez quand vous êtes à la fin de la liste, alors ne vous embêtez pas - il suffit d'utiliser Python propre itération caractéristiques (pour les boucles s'arrêtera automatiquement à la fin de la liste, ils sont à parcourir.*)
*- , Elles ne sont pas vraiment arrêter automatiquement la liste itérateur soulève l'exception StopIteration, qui est capturé par la boucle for comme un signal pour arrêter la lecture en boucle.
Ma boule de cristal est l'obtention plus difficile à cerner, mais il y a une idée, dans votre nom de méthode "fusionner". Disons fusion prend deux listes, et chaque liste est une liste de nombres entiers, et par "fusionner", tu veux dire le retour d'une nouvelle liste de la somme des valeurs respectives de l1 et l2. Voici ce que fusion ressemble à une boucle for:
Comme un débutant, vous devriez vous informer et obtenir très à l'aise avec un concept appelé "interprétations de la liste". À l'aide d'une compréhension de liste, vous pouvez simplifier votre méthode de fusion à la simple:
C'est équivalent à la fonction précédente - s'il vous plaît étudier et de voir comment cela fonctionne. Et enfin, dans un clignotant moment de Python duck-typing, exécutez fusion est-à -, mais cette fois, passant d'une liste de listes au lieu d'une liste d'entiers. (À gauche comme un exercice pour le OP.)
OriginalL'auteur PaulMcG