タグ付けされた質問 「dictionary」

辞書はキーを値にマッピングし、キーから値を効率的に取得できるようにします。データに対する関数のマッピングに関する[map-function]タグを使用してください。地理については[maps]。

10
辞書をファイルに保存する方法は?
dictの値を変更し、dictをテキストファイルに保存する(形式は同じである必要があります)ことに問題がありmember_phoneます。フィールドを変更したいだけです。 私のテキストファイルは次の形式です。 memberID:member_name:member_email:member_phone そして私はテキストファイルを次のように分割します: mdict={} for line in file: x=line.split(':') a=x[0] b=x[1] c=x[2] d=x[3] e=b+':'+c+':'+d mdict[a]=e にmember_phone格納されてdいる値を変更しようとすると、キーによってフローされずに値が変更され、 def change(mdict,b,c,d,e): a=input('ID') if a in mdict: d= str(input('phone')) mdict[a]=b+':'+c+':'+d else: print('not') そして、どのようにdictを同じフォーマットのテキストファイルに保存しますか?

11
Clojureでマップの値に関数をマッピングする
ある値のマップを、キーは同じであるが値に適用された別のマップに変換したいと思います。clojure apiでこれを行うための関数があったと思いますが、それを見つけることができませんでした。 これが私が探しているものの実装例です (defn map-function-on-map-vals [m f] (reduce (fn [altered-map [k v]] (assoc altered-map k (f v))) {} m)) (println (map-function-on-map-vals {:a "test" :b "testing"} #(.toUpperCase %))) {:b TESTING, :a TEST} map-function-on-map-valsすでに存在するかどうか誰かが知っていますか?私はそれをしたと思います(おそらくもっと良い名前でも)。

14
Java LinkedHashMapは最初または最後のエントリを取得します
私が使用しているLinkedHashMap、それはキーがマップに入力された順序が重要であるため。 しかし、今私は最初の場所(最初に入力されたエントリ)または最後のキーの値を取得したいと思います。 以下のような方法があるはずですfirst()し、last()そのようか何かを? 最初のキーエントリを取得するだけのイテレータが必要ですか?それが私が使用した理由LinkedHashMapです! ありがとう!


16
Javaで地図をきれいに印刷する
私はきれいに印刷するための素晴らしい方法を探していMapます。 map.toString() 私に与える: {key1=value1, key2=value2, key3=value3} マップエントリの値をもっと自由にしたいので、次のようなものを探しています。 key1="value1", key2="value2", key3="value3" 私はこの小さなコードを書きました: StringBuilder sb = new StringBuilder(); Iterator<Entry<String, String>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Entry<String, String> entry = iter.next(); sb.append(entry.getKey()); sb.append('=').append('"'); sb.append(entry.getValue()); sb.append('"'); if (iter.hasNext()) { sb.append(',').append(' '); } } return sb.toString(); しかし、私はこれを行うためのよりエレガントで簡潔な方法があると確信しています。


4
範囲ループ内でマップから選択したキーを削除しても安全ですか?
選択したキーをマップから削除するにはどうすればよいですか?delete()以下のコードのように、範囲と組み合わせても安全ですか? package main import "fmt" type Info struct { value string } func main() { table := make(map[string]*Info) for i := 0; i < 10; i++ { str := fmt.Sprintf("%v", i) table[str] = &Info{str} } for key, value := range table { fmt.Printf("deleting %v=>%v\n", key, value.value) delete(table, key) } } …
135 dictionary  for-loop  go 

5
Pythonのリストに対応する辞書のキー値の反復
Python 2.7での作業。私はキーとしてチーム名を持ち、スコアリングされ、各チームに許可されたランの量を値リストとして持つ辞書を持っています。 NL_East = {'Phillies': [645, 469], 'Braves': [599, 548], 'Mets': [653, 672]} 辞書を関数にフィードして、各チーム(キー)を反復処理できるようにしたいと考えています。 これが私が使っているコードです。現在、チームごとにしか行けません。各チームを反復して、各チームの予想されるwin_percentageを出力するにはどうすればよいですか? def Pythag(league): runs_scored = float(league['Phillies'][0]) runs_allowed = float(league['Phillies'][1]) win_percentage = round((runs_scored**2)/((runs_scored**2)+(runs_allowed**2))*1000) print win_percentage 助けてくれてありがとう。

10
Cで辞書を実装する簡単な方法
Cでプログラムを書いているときに私が見落としているものの1つは、辞書データ構造です。Cで実装する最も便利な方法は何ですか?私はパフォーマンスを求めていませんが、ゼロからコーディングするのは簡単です。汎用的なものにもしたくありません-string-> intのようなもので十分です。ただし、任意の数のアイテムを格納できるようにしたいのですが。 これは演習として意図されています。使用できるサードパーティのライブラリがあることは知っています。しかし、少しの間、それらが存在しないことを考慮してください。このような状況で、上記の要件を満たす辞書を実装する最も速い方法は何ですか。

8
.NET-辞書ロックとConcurrentDictionary
ConcurrentDictionary型について十分な情報が見つからなかったので、ここで質問したいと思いました。 現在、私はaを使用しDictionaryて、複数のスレッド(スレッドプールからなので、正確な量のスレッドはありません)によって絶えずアクセスされるすべてのユーザーを保持し、アクセスを同期しています。 私は最近、.NET 4.0に一連のスレッドセーフなコレクションがあることを発見しました。これは非常に楽しいようです。Dictionary同期アクセスを使用する通常のオプションと、ConcurrentDictionaryすでにスレッドセーフなオプションのどちらかを選択できるため、「より効率的で管理しやすい」オプションは何でしょうか。 .NET 4.0への参照 ConcurrentDictionary


26
何にもマッチしない正規表現
これは馬鹿げた質問のように聞こえるかもしれませんが、私は私の仲間の開発者の何人かと長い話し合いをしました、そしてそれは考えるのは楽しいことのように聞こえました。 そう; あなたの考えは何ですか-正規表現はどのように見えますか? 編集:なぜこれが必要なのですか?1つは、そのような表現について考えるのが興味深いためです。2つ目は、スクリプトに必要なためです。 そのスクリプトでは、辞書をと定義していDictionary<string, Regex>ます。これには、ご覧のとおり、文字列と式が含まれています。 そのディクショナリーに基づいて、私はすべてこのディクショナリーを使用してメソッドを作成する方法の参照としてのみ使用するメソッドを作成します。そのうちの1つは、正規表現を解析済みログファイルと照合します。 式が一致する場合、式Dictionary<string, long>によって返される値に別の値が追加されます。そこで、辞書の表現と一致しないログメッセージをキャッチするために、「不明」という新しいグループを作成しました。 このグループには、他のものと一致しなかったすべてが追加されます。しかし、「未知の」式が(偶然に)ログメッセージと一致しないようにするために、どの文字列を指定しても、決して一致しない式を作成する必要がありました。 したがって、あなたにはこの「本当の質問ではない」という私の理由があります...



29
辞書の辞書をマージする方法は?
複数の辞書をマージする必要があります。たとえば、次のようなものがあります。 dict1 = {1:{"a":{A}}, 2:{"b":{B}}} dict2 = {2:{"c":{C}}, 3:{"d":{D}} とA B CとD同様、樹木の葉もの{"info1":"value", "info2":"value2"} 辞書のレベル(深さ)が不明です。 {2:{"c":{"z":{"y":{C}}}}} 私の場合、それはノードがドキュメントであり、葉がファイルであるディレクトリ/ファイル構造を表します。 それらをマージして取得したい: dict3 = {1:{"a":{A}}, 2:{"b":{B},"c":{C}}, 3:{"d":{D}}} Pythonでそれを簡単に行う方法がわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.