私はZed Shawの著書「Pythonの難しい方法」を読んでいます。現在、私は辞書について学んでいます。"Bucket"はPythonで何を意味しますか?
練習の1つでは、彼はhashmap.pyモジュールを作成します。
def new(num_buckets=256):
"""Intializes a Map with a given number of buckets"""
aMap = []
for i in range(0, num_buckets):
aMap.append([])
return aMap
これは、彼が作成した最初の関数です。私はまだ彼が何をやっているのか分かりません。(ちょうどコピーして、それが最終的には意味をなさないコードを理解しようとすれば彼は主張します)私はグーグルでコードを解読しようとしています。フォーラムを見る。とにかくちょっとバケットは何ですか?それはプログラマーの不器用なものか、それとも意味がありますか?名前は彼が作成するほとんどすべての機能に現れます。
ここに彼がバケットで作成する別の機能があります。
def get_bucket(aMap,key):
bucket_id = hash_key(aMap,key)
return aMap[bucket_id]
は、私は、スタックオーバーフローやウェブを検索し、
バケットが何であるかについて明確な答えを微ことができませんでした... は、私はまだほとんど中間のプログラマはそのことに注意してください初心者です。
ありがとうございます。 - Allen
あなたはバケットを配列の要素として扱うことができます。細胞として、何かが生きることができる空間として。ハッシュマップの場合、オブジェクトをキー、値のペアとして保存します。このキーと値のペアを単一のエンティティとして見ます。このエンティティはバケットにあります(ハッシュマップは複雑なオブジェクトがバケットと呼ばれる配列ですキーは要素を配置するバケットのインデックスを計算するために使用されます)。私はPython開発者ではありませんが、ハッシュマップの原則はどこでも同じです。 – john
ハッシュマップは有用なデータ構造であり、バケットを使ってデータを保持します。しかし、入門コードで使用しているIMHOは** BAD **のアイデアです。この例は、SO Pythonのチャットルームが**難しいPythonの難解な方法を推奨しない理由の1つです。 [チュートリアルはどうすればよいですか?](http://sopython.com/wiki/What_tutorial_should_I_read%3F)をご覧ください。リンクされた記事[LPTHW Complaints](http://sopython.com/wiki/LPTHW_Complaints)を見たいかもしれませんが、そのリストの多くは、あなたのPythonとプログラミングのスキルがより高度な場合にのみ意味をなさないでしょう。 –
バケットは、オブジェクトのコンテナです(通常の物理バケットと同様)。こちらをご覧ください(http://programmers.stackexchange.com/questions/144983/what-does-bucket-mean) – syntonym