[英]What is the Python equivalent of Perl's 'if exists' for hashes?
我正在写一个工作脚本,需要能够创建一个数组哈希,以检查哈希(或字典)中是否存在键,如果是,我将从新值中汇总一些值行到现有的哈希值中。 这是我在Perl中的代码,Python的翻译是什么?
if (exists($rollUpHash{$hashKey}))
{
say("Same key found, summing up!")
$rollUpHash{$hashKey}[14] += $lineFields[14];
$rollUpHash{$hashKey}[15] += $lineFields[15];
$rollUpHash{$hashKey}[16] += $lineFields[16];
$rollUpHash{$hashKey}[17] += $lineFields[17];
$rollUpHash{$hashKey}[24] += $lineFields[24];
push @{$rollUpHash{$hashKey}}, $sumDeduct_NonDeduct_ytd;
# print %rollUpHash;
}
else
{
$rollUpHash{$hashKey} = \@lineFields;
}
如果您只是检查密钥是否存在,则可以if "key" in your_dictionary
执行if "key" in your_dictionary
编辑:
为了处理问题的意外部分,关于将新值添加到数组,您可以执行以下操作
# -1 will give you the last item in the list every time
for key, value in nums.iteritems():
nums[key].append(value[-1]+value[-1])
您也可以使用它
rollUpHash.get(key, None)
如果键存在,则该函数返回此键的值,否则该函数将返回您分配为默认值的任何内容(第二个参数)
if rollUpHash.has_key(hashkey):
print "Same key found, summing up!"
rollUpHash[hashkey][14] += lineFields[14]
...
...
rollUpHash[hashkey].append(sumDeduct_NonDeduct_ytd)
else:
rollUpHash[hashkey] = lineFields
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.