9
votes

Est-ce que "pour x dans le tableau" aboutit toujours à X? [Python / Numpy]

pour les tableaux et les listes de python et numpy sont les lignes suivantes équivalentes: xxx

et: xxx

je suis intéressé par L'ordre de itemlist. Dans quelques exemples que j'ai essayés, ils sont identiques, mais est-ce garanti ? Par exemple, je sais que la déclaration foreach en C # ne garantit pas l'ordre et que je devrais faire attention avec elle.


2 commentaires

Voulez-vous dire: pour J à portée (Len (myarray)) :?


Oups, oui je voulais dire jeter dans une plage ()


3 Réponses :


10
votes

Oui, c'est entièrement garanti. pour l'élément dans myarray (où myARRAY est une séquence , qui inclut les tableaux de numpopie, les listes intégrées, le tableau.arrays de Python, etc., etc.), est En fait, équivalent en python à: xxx

pour une variable fantôme _aux ;-). BTW, les deux constructions sont également équivalentes à xxx


1 commentaires

Merci! Ouais, je n'essayais pas vraiment de convertir un tableau en une perte, explorant simplement l'ordre.



6
votes

Oui, le Référence de langue Python garantit ceci (l'accent est mis à moi) :

 for_stmt ::=  "for" target_list "in" expression_list ":" suite
               ["else" ":" suite]


0 commentaires

10
votes

Il est garanti pour les listes. Je pense que le python plus pertinent parallèle à votre exemple C # serait d'itérer sur les clés dans un dictionnaire, qui n'est pas garanti d'être dans n'importe quel ordre.

# Always prints 0-9 in order
a_list = [0,1,2,3,4,5,6,7,8,9]
for x in a_list:
    print x

# May or may not print 0-9 in order. Implementation dependent.
a_dict = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
for x in a_dict:
    print x


1 commentaires

Merci d'avoir souligné que des tableaux ont une notion d'ordre, qu'il est mis en œuvre via la fonction suivante (). La structure de ... In ... La structure tire parti de la suivante (), et de sorte que les données avec un ordre intrinsèque (tableaux) implémentent ensuite () différemment des données sans ordre intrinsèque (tel que des dictionnaires.)