2017-04-20 2 views
0

0の値を1行ずつ印刷するにはどうすればよいのですか?1の値に続いてキーを入力しますか?どのように連想配列のこの全体の値にアクセスするのですか?Pythonの連想配列にアクセスする方法

このよう
glyph = { 
    '0': [" ##### ", " ## ## ", "## ## ", "## ## ", "## ## ", " ## ## ", " ##### "], 
    '1': [" ## ", " #### ", " ## ", " ## ", " ## ", " ## ", " ###### "] 
} 
+0

'グリフを[「0」]'あなたに「0」のキーに関連付けられている値を取得します。同様に、 'glyph ['1']'は '1'キーに関連する値を取得します。 Pythonでは、これはディクショナリと呼ばれ、関連する配列ではありません。 –

答えて

1

:などの個々のリストを使用glyph['0']にアクセスするには

for valuelist in glyph.values(): 
    for value in valuelist: 
     print(value) 


##### 
## ## 
## ## 
## ## 
## ## 
## ## 
##### 
## 
#### 
## 
## 
## 
## 
###### 

glyph['1']

list(glyph.values())を使用し、すべての値のリストを取得します。

リストの内包表記を使用して、一つの大きなリストにそれらを作るために:

[i for j in glyph.values() for i in j]。あなたはこのような何かをすることをお勧めしますので、辞書は、ソートされていません

注:{key: glyph[key] for key in sorted(glyph)}glyphsortedバージョンに基づいてインライン辞書を作成

for valuelist in {key: glyph[key] for key in sorted(glyph)}: 
    for value in valuelist: 
     print(value) 

または注文したい場合はcollections.OrderedDictを参照してください。 さらに詳しくは、「Pythonで辞書」を参照してください。

0
[y for y in [x for x in glyph.values()]] 

リスト理解方法。

+3

内部リストを作成せずに、直接2重の反復を使用できます。 –

+3

これは 'list(glyph.values())'とまったく同じです。リストの理解の必要はありません。 – rassar

1

これがSortedDictまたはその他のdictマッピング構造でない限り、キーのソート順で反復する保証はありません。あなたが'0'値を得ることについて気にした場合、その後、など'1'値は、あなたがこのような何かが必要です。

[x for x in glyph[y] for y in sorted(glyph.keys())]