0

ほとんど同じですが、いくつかの小さな違いは無視したい 2 つのドキュメントがあります。具体的には、一方には「0xFFFFFFFF」と書かれた16進値があり、もう一方には「FFFFFFFF」と書かれていることがわかっています

基本的に、これら 2 つのドキュメントは、変数、その値、メモリ内の位置、サイズなどのリストです。

しかし、別の問題は、それらが同じ順序になっていないことです。

私はいくつかのことを試しました.1つはリストの2つのリストにすべてを詰め込み、リストのリストが互いに対応するかどうかを比較することですが、変数の数がほぼ100,000であるため、これを行うのにかかる時間はばかげているので (ほぼ 1 時間)、うまくいきません。私は Python や Python のやり方にあまり慣れていないので、これを行うための迅速で簡単な方法があれば申し訳ありません。

私は他のいくつかの同様の質問を読みましたが、それらはすべて100%の同一性を前提としており、私の場合はそうではありません。

基本的に、次のような一連の行を含む 2 つの .txt があります。

***************************************
Variable: Var_name1
Size: 4
Address: 0x00FF00F0 .. 0x00FF00F3
Description: An awesome variable
..
***************************************

説明が異なるかどうかは気にしません。すべての変数が同じ長さで、アドレスごとに同じ場所にあることを確認したいだけです。違いがある場合は、それらを確認したいと思います。また、一方のすべての変数が他方にも存在することを確認したいと思います。

繰り返しになりますが、最初のアドレスは 16 進数で書かれており、2 番目のアドレスは 16 進数なしで書かれています。しかも順番が違う

--- 出力 ---

人間が読める形式である限り、出力の形式はあまり気にしません。理想的には、次のような .txt ドキュメントです。

"Var_name1 does not exist in list two"
"Var_name2 has a different size. (Size1, Size2)"
"Var_name4 is located in a different place. (Loc1, Loc2)"
4

1 に答える 1

0

完全な再編集
[私の最初の提案はsets を使用することでしたが、コメントによるさらなる議論により、それはナンセンスであり、辞書が本当の解決策であることがわかりました。]

辞書が必要です。変数名をキーにします。値は、サイズとアドレスを含むリスト、タプル、ネストされた辞書、またはオブジェクトです。各変数名をディクショナリに追加し、必要に応じて値を更新できます。
アドレスを比較するには、正規表現を使用しますが、str.contains(_).

于 2013-09-14T01:13:39.590 に答える