如何在0
鍵中逐行輸入值,然後在1
鍵中隨後輸入值?我們如何訪問這個關聯數組的整個值?如何訪問Python中的關聯數組
glyph = {
'0': [" ##### ", " ## ## ", "## ## ", "## ## ", "## ## ", " ## ## ", " ##### "],
'1': [" ## ", " #### ", " ## ", " ## ", " ## ", " ## ", " ###### "]
}
如何在0
鍵中逐行輸入值,然後在1
鍵中隨後輸入值?我們如何訪問這個關聯數組的整個值?如何訪問Python中的關聯數組
glyph = {
'0': [" ##### ", " ## ## ", "## ## ", "## ## ", "## ## ", " ## ## ", " ##### "],
'1': [" ## ", " #### ", " ## ", " ## ", " ## ", " ## ", " ###### "]
}
像這樣:
for valuelist in glyph.values():
for value in valuelist:
print(value)
#####
## ##
## ##
## ##
## ##
## ##
#####
##
####
##
##
##
##
######
要訪問一個單獨的列表使用glyph['0']
,glyph['1']
等
要獲取所有值的列表,請使用list(glyph.values())
。
爲了讓他們到一個大列表,使用列表理解:
[i for j in glyph.values() for i in j]
。
注意,詞典都沒有排序,所以你可能需要做這樣的事情:
for valuelist in {key: glyph[key] for key in sorted(glyph)}:
for value in valuelist:
print(value)
凡{key: glyph[key] for key in sorted(glyph)}
創建一個基於一個sorted
版本的glyph
內嵌字典。
如果您想要訂購,請查看collections.OrderedDict
。 如需進一步參考,請查閱「Python中的字典」。
[y for y in [x for x in glyph.values()]]
List Comprehension Way。
您可以直接使用雙迭代而不創建內部列表。 –
這和'list(glyph.values())'一樣 - 不需要列表理解。 – rassar
除非這是SortedDict
或其他非dict
映射結構,否則無法保證您將按鍵的排序順序進行迭代。如果你關心得到'0'
值,那麼'1'
值,等等,你需要像這樣:
[x for x in glyph[y] for y in sorted(glyph.keys())]
'字形[0]'將讓你與「0」鍵關聯的值。同樣,glyph ['1']'會爲您提供與'1'鍵相關的值。在Python中,這些被稱爲字典,而不是關聯數組。 –