2017-01-02 5 views
-6

Ich bin neu in Python, könnte jemand einige Hinweise, wie dieser C-Code geben kann in Python getan werden:Wie schreibe ich dies für eine Schleife von C nach Python?

for(i=0, j=0; j<n; i++, j++){ 
    A[i] = A2[j]; 
} 

Ich habe dies als ein Beispiel. Ich arbeite an einem Web-Scrapping-Projekt, bei dem ich jedes Wort in einer vom Benutzer angegebenen Zeichenfolge mit einer anderen Zeichenfolge vergleichen und die Nähe jedes Wortes zählen muss, und die Zeichenfolgen, die ich vergleichen muss, in einem Array sind.

+1

Was ist der Sinn von "i" und "j"? –

+0

In Python lesen Sie [Loop like a Native] (https://www.youtube.com/watch?v=EnSu9hHGq5o) – MYGz

+0

Überprüfen Sie ['zip()'] (https://docs.python.org/2/library /functions.html#zip), um entsprechende Elemente in zwei Sequenzen zu vergleichen. Lesen Sie [ask] und [mcve] – MYGz

Antwort

1

Python unterstützt Iteration über Sammlungen/iterables (so range zum Beispiel), die im Allgemeinen diskret sind. So können Sie das als while Schleife umschreiben:

i = 0 
j = 0 
while j < n: 
    A[i] = A2[j] 
    i += 1 
    j += 1 
4

Sie sind im Grunde ein Array zu kopieren, das entspricht einer Python-Liste. Sie könnten einfach tun:

A = list(A2) 

In einem for Schleife Szenario (die nicht einmal aufgrund der Verfügbarkeit des list Anruf benötigt wird), dann würden Sie tun:

for ind, val in enumerate(A2): 
    A[ind] = val 

Sie wirklich viele haben andere Optionen auch, A2.copy(), A2[:], ein Listenverständnis und in den neuesten Python-Versionen [*A2]. Python macht es generell sehr einfach.

+2

Fügen Sie 'A2.copy()' zur Liste der Auswahlmöglichkeiten hinzu. – DyZ

Verwandte Themen