Thread Array of Hashes aus Datei anlegen (53 answers)
Opened by Flips87 at 2020-02-04 11:19

Raubtier
 2020-02-04 21:01
#191286 #191286
User since
2012-05-04
1075 articles
BenutzerIn
[default_avatar]
2020-02-04T18:44:15 hlubenow
Das Blöde ist, daß in Perl das Array nicht einfach die Hashes selbst halten kann, sondern nur Referenzen auf Hashes.
Python dagegen kann in Arrays ("Listen") die Hashes (dort: "Dictionaries") selbst halten, so daß man keine Referenzen braucht ... und auch später nichts dereferenzieren muß oder so


Man könnte sich auch hinstellen und das Gegenteil behaupten. Python kennt weder Arrays noch Hashes, sondern ausschließlich Referenzen auf Arrays und Referenzen auf Dictionaries! Diese werden dann allerdings automatisch dereferenziert, sodass es syntaktisch schöner aussieht.

Das sieht man wunderschön an diesem Beispiel:
Code (perl): (dl )
1
2
3
my %d = ('perl' => '5.20');
my %c = %d;
$c{'python'} = 3;

Versus
Code: (dl )
1
2
3
d = {'python': '3.6'}
c = d
c['perl'] = '5.20'

Im Python-Fall sind c und d nämlich beides Referenzen auf dasselbe Dictionary! Daher musst du da auch mit c = d.copy() kopieren, um das Verhalten wie in Perl zu bekommen.
Last edited: 2020-02-04 21:06:54 +0100 (CET)

View full thread Array of Hashes aus Datei anlegen