2016-07-31 18 views
1

Ich habe zwei Arrays, Array1 und Array2. Ich verstehe, dass das erste Element in einem Array ist 0.Arrays und Array Indizierung

array1 = [a, b, c, d,....z] 
array2 = [1, 2, 3, 4,.....26] 

Also, wenn ich sage:

array1[0] = a 

, aber ich bin zu wollen:

array1[1] = a 
array[2] = b 
array[26] = z 

Ich bin neu in Python 2.7 (dritter Tag lernen) und lernen über Arrays und Indizes, so kam mir dies in den Sinn. Ist das möglich? Ich habe versucht, mit Schleifen wie:

Ich weiß auch, dass ich nur Variablen wie unten gezeigt zuweisen kann. Das braucht viel Platz!

array2[0] = a 

Ich bin sicher, sobald ich mehr mit Python Fortschritte, werde ich dies herauszufinden, aber in der Zwischenzeit, dachte ich, es wäre zu fragen, nicht schaden.

+0

Warum brauchen Sie 'a' bei Index' 1' und nicht '0'? –

Antwort

0

Wenn Sie a holen wollen, wenn 1 für die Verwendung eines Verschlusses gefragt wird, die Standorte übersetzt:

def fetch_with_shift(seq, shift): 
    def fetch(x): 
     return seq[x - shift] 
    return fetch 

Verwendung wie folgt aus:

my_fetch = fetch_with_offset(s, 1) 
my_fetch(1) # 'a' 

Hinweis: Es gibt auch bereits eine Zeichenfolge dafür im string Modul:

from string import lowercase 
s = lowercase # "abc...z" 
+0

Ich werde näher auf Fetch schauen. Was ist, wenn das Paar von Arrays nicht so einfach ist, wie zum Beispiel array1 gleich zu halten, sondern array2 = [123, 3453, 5576 ....]. Kann das für array1 [123] = a funktionieren? –

+0

Sie müssen erklären, welches Problem Sie lösen. Es ist sehr unwahrscheinlich, dass es so kompliziert ist, dass eingebettete Offsets in Listen erforderlich sind. –

+0

Ok. Danke für Ihre Hilfe. Ich denke nur an verschiedene Szenarien, in denen ich ein anderes Array als Indizierungswert verwende (wenn das sinnvoll ist) anstelle der traditionellen 1 = 0, 2 = 1, 3 = 2, usw. Nicht an irgendeinem Problem, sondern einfach kritisch über die Konzepte nachzudenken, über die ich gerade lese. –

0

Sie können das Array verschieben, indem Sie einen None Wert an die Front verketten.

array1 = ["a", "b", ... "z"] 
new_array = [None] + array1 

Dann array1[1] wird a, und array1[2] wird b sein.

Verwandte Themen