閱讀有關資料結構的內容并提出問題。這是一本字典:
example = {'the': 8,
'metal': 8,
'is': 23,
'worth': 3,
'many': 3,
'dollars': 2,
'right': 2}
如何按順序將鍵/值對的值存盤到變數中?
例如,如何存盤第三對的值,即 23?
試過這個,這是不正確的:
for k in example:
if k == 3:
a_var = example(k)
uj5u.com熱心網友回復:
如果您知道鍵/值已按正確順序插入,則可以使用islice()來獲取第三個鍵/值對。這樣做的好處是不需要創建完整的值串列,并且比顯式撰寫回圈要簡單一些:
from itertools import islice
example = {
'the': 8,
'metal': 8,
'is': 23,
'worth': 3,
'many': 3,
'dollars': 2,
'right': 2
}
key, val = next(islice(example.items(), 2, None))
# 'is', 23
如果您只想要值而不是鍵/值對,那么當然可以傳遞values()而不是items()to islice():
val = next(islice(example.values(), 2, None))
# 23
uj5u.com熱心網友回復:
這可以滿足您的需求:
example = {'the': 8,
'metal': 8,
'is': 23,
'worth': 3,
'many': 3,
'dollars': 2,
'right': 2}
k=0
for key in example:
k =1
if k == 3:
a_var = example[key]
print(a_var)
輸出:
23
uj5u.com熱心網友回復:
如果你真的認為你需要這個:
def find( example, ordinal):
for k,value in enumerate(example.values()):
if k == ordinal:
return value
或者
def find( example, ordinal):
return list(example.values())[ordinal]
uj5u.com熱心網友回復:
a_var=example[list(example.keys())[3-1]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404565.html
標籤:
