ホームページ  >  記事  >  バックエンド開発  >  Python 関数入門: ハッシュ関数の使用法と例

Python 関数入門: ハッシュ関数の使用法と例

WBOY
WBOYオリジナル
2023-11-04 14:05:071443ブラウズ

Python 関数入門: ハッシュ関数の使用法と例

Python 関数の紹介: ハッシュ関数の使用法と例

  1. はじめに
    Python では、ハッシュ関数は次のような組み込み関数です。オブジェクトのハッシュ値の生成に使用されます。ハッシュ値は、任意の長さのバイナリ値を固定長の一意の値にマッピングするアルゴリズムの結果です。ハッシュ関数の機能は、値を適切に分散させ、迅速に見つけられるようにすることです。 Python では、ハッシュ関数は、文字列、整数、浮動小数点数などの基本的なデータ型だけでなく、タプルや辞書などのハッシュ可能なオブジェクトにも適用できます。
  2. 使用法
    ハッシュ関数の使用法は非常に簡単で、hash を呼び出し、ハッシュするオブジェクトをパラメータとして渡すだけです。この関数は整数のハッシュ値を返します。

たとえば、ハッシュ関数を使用して文字列をハッシュできます。

string = "Hello World"
hash_value = hash(string)
print(hash_value)

上記のコードでは、ハッシュ関数を使用して文字列 "Hello World" をハッシュします。結果を hash_value 変数に代入します。最後に、print 関数を使用してハッシュ値を出力します。

3.1 ハッシュ文字列

string = "Hello World"
hash_value = hash(string)
print(hash_value)

出力: 2922927337147303222

この例には、文字列「Hello World」があります。ハッシュ演算を実行し、ハッシュ値を出力します。

3.2 ハッシュ整数

num = 12345
hash_value = hash(num)
print(hash_value)

出力: 12345

この例では、整数 12345 をハッシュし、ハッシュ値を出力します。整数は不変オブジェクトであるため、そのハッシュ値はそれ自体と等しくなります。

3.3 ハッシュ タプル

tuple_1 = (1, 2, 3)
hash_value_1 = hash(tuple_1)

tuple_2 = (4, 5, 6)
hash_value_2 = hash(tuple_2)

print(hash_value_1)
print(hash_value_2)

出力:

  • タプル_1 のハッシュ値: 2528502973977326415
  • タプル_2 のハッシュ値: 2528502973977326683

この例では、2 つのタプルを個別にハッシュし、そのハッシュ値を出力します。

3.4 ハッシュ辞書

dict_1 = {"name": "Alice", "age": 18}
hash_value_1 = hash(frozenset(dict_1.items()))

dict_2 = {"name": "Bob", "age": 20}
hash_value_2 = hash(frozenset(dict_2.items()))

print(hash_value_1)
print(hash_value_2)

出力:

  • dict_1のハッシュ値: -4894169783345032514
  • dict_2のハッシュ値: 2528502973977326681

この例では、2 つの辞書を別々にハッシュし、そのハッシュ値を出力します。辞書は変更可能なオブジェクトであるため、ハッシュ操作を実行する前に、辞書を不変のフローズンセット オブジェクトに変換する必要があります。

概要

  • ハッシュ関数は、オブジェクトのハッシュ値を生成するために使用できます。
  • ハッシュ関数は組み込み関数であり、直接使用できます。
  • ハッシュ関数は、基本的なデータ型とハッシュ可能なオブジェクトに適しています。
  • さまざまなオブジェクトのハッシュ値は一意です。

この記事を通じて、ハッシュ関数の使い方と例を学び、その基本的な動作を理解しました。実際のプログラミングでは、ハッシュ関数を適切に使用すると、プログラムのパフォーマンスと効率が向上します。

以上がPython 関数入門: ハッシュ関数の使用法と例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。