質問: 'three' if elem in dic: # 辞書のキーの検索 print '辞書 %s に要素の「キー」 %s は存在する。' % (dics, elem) print ``` `dics`お前、どこから出てきたんだよ!!と困惑しております。 in演算子はboolを返すらしいですし...... `for hoge in list` は、どのように処理しているのでしょうか。 ご存じの方、詳しい方がいらっしゃいましたら、ご教示願います。
回答: Pythonにおけるブランケット([])を使用して値を取得する方法は、主に以下の2通りです。 * `foo[index]`: `index`は整数で、`list`型もしくは`list`型のように扱えるオブジェクトに対して利用可 * `foo[key]`: `key`は主に文字列※で、`dict`型もしくは`dict`型のように扱えるオブジェクトに対して利用可。 (※`key`はタプルなど宣言後状態を変更できない値なら文字列以外でも指定可) なので、上記のように条件にあった型を持つ件数ならば何れかの方法で任意に値を取得できるかと思います。 「こちらのサイト様」にあるサンプルの`dics`はただ、`dic`のtypoだと思います。 実際動かしてみると動かないかと。 また、辞書型に対するfor..inは、その辞書にあるキーを1つずつ返し、なくなるまで繰り返します。 Python2.7 日本語マニュアル - 5.6. ループのテクニック