Python Grundlagen

Tron36

Ensign
Registriert
Jan. 2011
Beiträge
212
Hallo Leute,

es geht darum, dass ich aus der C/C++ bzw. Java ecke komme uns mir Python beibringe und konnte mir kein reim auf bestimmte Codefragmente machen.

Der folgende Code ist mir schon klar:
Code:
Letters = ['e', 't', 'a', 'o', 'i', 'n', 's', 'h', 'r', 'd', 'l', 'c', 'u', 'm', 'w', 'f', 'g', 'y', 'p', 'b', 'v','k', 'j', 'x', 'q', 'z']
Es dürfte wahrscheinlich ein Array sein.

Es geht eher um folgenden Code:
Code:
rStats = {'E': 12.70, 'T': 9.06, 'A': 8.17, 'O': 7.51, 'I': 6.97, 'N': 6.75, 'S': 6.33, 'H': 6.09, 'R': 5.99, 'D': 4.25, 'L': 4.03, 'C': 2.78, 'U': 2.76, 'M': 2.41, 'W': 2.36, 'F': 2.23, 'G': 2.02, 'Y': 1.97, 'P': 1.93, 'B': 1.29, 'V': 0.98, 'K': 0.77, 'J': 0.15, 'X': 0.15, 'Q': 0.10, 'Z': 0.07}

Was ist das. Meines wissens nach ist es kein 2 Dimensionales Array.

Ich hoffe Ihr könnt mir helfen.
 
Das ist ein Dictionary, in anderen Programmiersprachen auch unter der Bezeichnung "assoziatives Array" oder "Hash" bekannt.
 
Ersteres ist eine Liste... ähnlich zu einem Array in C, jedoch weitaus flexibler.
Das zweite ist ein Dictionary. Dies ist eine ungeordnete Menge aus Key-Value Paaren. Die Keys (das vor dem Doppelpunkt) sind eindeutig. Die Values können mehrmals vorkommen.
Im Unterschied zu z.B. C können beide Datentypen wilde Mischungen aus unterschiedlichen Objekten enthalten:
Code:
>>> l = [1, '2', 3.0]
>>> l
[1, '2', 3.0]
>>> d = {1: 2, '3': 4.0}
>>> d
{1: 2, '3': 4.0}

Und noch ein kleiner Tipp, der mir die Augen geöffnet hat:
In Python ist alles ein Objekt und die "Variablen", die man erstellt referenzieren immer auf Adressen wovon man als Nutzer jedoch nicht viel merkt (vgl. Pointer in C).
 
Zuletzt bearbeitet:
Tron36 schrieb:
Es geht eher um folgenden Code:
Code:
rStats = {'E': 12.70, 'T': 9.06, 'A': 8.17, 'O': 7.51, 'I': 6.97, 'N': 6.75, 'S': 6.33, 'H': 6.09, 'R': 5.99, 'D': 4.25, 'L': 4.03, 'C': 2.78, 'U': 2.76, 'M': 2.41, 'W': 2.36, 'F': 2.23, 'G': 2.02, 'Y': 1.97, 'P': 1.93, 'B': 1.29, 'V': 0.98, 'K': 0.77, 'J': 0.15, 'X': 0.15, 'Q': 0.10, 'Z': 0.07}
Was ist das.

Sowas wie ein unordered_map in C++:
Code:
 std::unordered_map<char,double> rStats ( 
  { 
    { 'E', 12.70 }, { 'T' , 9.06 }, { 'A' , 8.17 }, { 'O' , 7.51 }, { 'I' , 6.97 }, 
    { 'N' , 6.75 }, { 'S' , 6.33 }, { 'H' , 6.09 }, { 'R' , 5.99 }, { 'D' , 4.25 }, 
    { 'L' , 4.03 }, { 'C' , 2.78 }, { 'U' , 2.76 }, { 'M' , 2.41 }, { 'W' , 2.36 }, 
    { 'F' , 2.23 }, { 'G' , 2.02 }, { 'Y' , 1.97 }, { 'P' , 1.93 }, { 'B' , 1.29 }, 
    { 'V' , 0.98 }, { 'K' , 0.77 }, { 'J' , 0.15 }, { 'X' , 0.15 }, { 'Q' , 0.10 }, 
    { 'Z' , 0.07 }
  } 
 );
 
Zuletzt bearbeitet:
Zurück
Oben