gpt4 book ai didi

python - Perl 到 Python 哈希表的翻译

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:54 25 4
gpt4 key购买 nike

您好,我正在努力将 perl 转换为 python 以做某事。

我一直在查看 perl 中哈希表的一些代码,我遇到了一行代码,我真的不知道它是如何完成它在 python 中的作用的。我知道它将页面的位串移动 1

%page_table = ();           #page table is a hash of hashes
%page_table_entry = ( #page table entry structure
"dirty", 0, #0/1 boolean
"referenced", 0, #0/1 boolean
"valid", 0, #0/1 boolean
"frame_no", -1, #-1 indicates an "x", i.e. the page isn't in ram
"page", 0 #used for aging algorithm. 8 bit string.);
@ram = ((-1) x $num_frames);

有人可以告诉我这将如何在 python 中表示吗?我已经完成了哈希表的定义,它们只是作为我正在做的事情的引用。感谢您能给我的任何帮助。

for($i=0; $i<@ram; $i++){
$page_table{$ram[$i]}->{page} = $page_table{$ram[$i]}->{page} >> 1;}

最佳答案

唯一令人困惑的是页表是哈希的哈希。 $page_table{$v} 包含一个散列引用,该散列包含值为整数的键“page”。循环对该整数进行位移,但不是很清楚的 perl 代码。更简单的是:

foreach my $v (@ram) {
$page_table{$v}->{page} >>= 1;
}

现在到 python 的翻译应该很明显了:

for v in ram:
page_table[v][page] >>= 1

关于python - Perl 到 Python 哈希表的翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8114826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com