2017-02-05 5 views
-5

私は辞書を持ってみましょう:pythonで辞書からキーの値を返す方法

P={'S':['dB','N'],'B':['C','CcB','bA']} 

私は辞書のPから2番目のキーoを第2の値を取得できますか?

また、値が 'bA'(キー 'B'の3番目の値)のように複数の文字を含む文字列の場合、どういうわけかこの値の最初の文字を返すことはできますか?

+0

既に試しましたか? – Kasramvd

+1

* "第2のキー" *は意味がある概念ではありません。辞書は順序付けされたデータ構造ではありません。リストと文字列*は順序付けされており、両方とも索引付けすることができます: '' bA '[0] ==' b''など。基本を確認してください:http://sopython.com/wiki/What_tutorial_should_I_read%3F – jonrsharpe

+0

こんにちは、歓迎、StackOverflow。すでに試したことをいくつか挙げておき、質問を2つに分けてください。 – MaLiN2223

答えて

0

@jonrsharpeと同じように、辞書は設計上順序付けされていません。

これは、辞書順に「注文順」にアクセスしようとするたびに、別の結果が発生する可能性があることを意味します。

次(Pythonの対話インタプリタ)を守ってください。

>>>P={'S':['dB','N'],'B':['C','CcB','bA'], 'L':["qqq"]} 
>>>P.keys() 
['S', 'B', 'L'] 

この通知でそれを見るために、その簡単に、我々が定義されている「順序」は、(我々はDictionary.keysから受信した順序と一致しました) 関数。

しかし、あなたはまた、この結果を観察可能性があります。この例では

>>> P={'S':['dB','N'],'B':['C','CcB','bA'], 'L':["qqq"], 'A':[]} 
>>> P.keys() 
['A', 'S', 'B', 'L'] 

を、値「A」は私たちのリストで第四なければなりません、しかし、それは実際には最初の値です。

これは、ディクショナリを注文リストとして扱わない理由のほんの小さな例です。 多分あなたは先に進み、あなたの意図が何であるか教えてください。代替案が示唆されるかもしれません。

+0

私はnoobishなんて申し訳ありません、私はちょっとpythonのnoobです。私は目標を変えて解決しました。 'P = {} F = {} P = {'S':['dB'、 'N']、 'B':['C'、 'C​​cB']}キーの場合は 、Pの場合はval .Items(): val: print(it [0]) F.setdefault(key、[]) F [key] .append(it [0]) print(F) ' – Mike

関連する問題