【发布时间】:2014-06-15 14:20:03
【问题描述】:
我是python初学者,到目前为止我已经读到python没有引用,如果这是真的,那么在python中跟随perl代码的等价物是什么?
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @grps = qw/grp1:1:2:3 grp2:1:2:3 grp3:1:2:3/;
# CREATES AN ARRAY OF REFERENCES TO ARRAYS - AoR2A
my @agrps;
foreach (@grps){
push @agrps, [split(":")];
}
# CREATES AN HASH OF REFERENCES TO ARRAYS (REFERENCES ARE THE SAME AS THEY ARE IN AoR2A ABOVE)
my %hgrps;
foreach (@agrps){
$hgrps{"$_->[0]"} = $_;
}
# THE ELEMENTS CAN BE THEN ACCESSED EITHER VIA ARRAY OR HASH SYNTAX
$hgrps{"grp3"}->[3] = "NEW VALUE 3rd INDEX";
$agrps[2]->[2] = "NEW VALUE 2nd INDEX";
print Dumper @agrps;
print "\n";
print Dumper %hgrps;
上述脚本的输出如下:
$VAR1 = [
'grp1',
'1',
'2',
'3'
];
$VAR2 = [
'grp2',
'1',
'2',
'3'
];
$VAR3 = [
'grp3',
'1',
'NEW VALUE 2nd INDEX',
'NEW VALUE 3rd INDEX'
];
$VAR1 = 'grp3';
$VAR2 = [
'grp3',
'1',
'NEW VALUE 2nd INDEX',
'NEW VALUE 3rd INDEX'
];
$VAR3 = 'grp1';
$VAR4 = [
'grp1',
'1',
'2',
'3'
];
$VAR5 = 'grp2';
$VAR6 = [
'grp2',
'1',
'2',
'3'
];
【问题讨论】:
-
@jmetz,“参考”和“通过参考”是两个不同的东西。
标签: python perl dictionary reference pass-by-reference