我有两个数组:
my @name = (bob, bob, dave, john, john, mary, mary, mary);
my @cost = (5, 7, 4, 4, 4, 6, 3 , 4);
Run Code Online (Sandbox Code Playgroud)
我想将它们映射在一起,所以输出就是:
bob 12
dave 4
john 8
mary 13
Run Code Online (Sandbox Code Playgroud)
数组的变化虽然所以我不能使用引用.我如何组@cost通过@name,并添加值@cost?
一个更耗时的代码将消耗输入:
my %Cost_by_Name;
while (@name & @cost) {
$Cost_by_Name{shift @name} += shift @cost;
}
Run Code Online (Sandbox Code Playgroud)
因为源数据不值得生存.
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |