我們將使用字典存儲例如:字典存儲對。誰儲存三倍?
a={"breakfast":"banana","lunch":"fish","dinner":"soup"}
將你的方法是什麼,如果你想添加的時間屬性旁邊每鍵值集。當然不是:
a={"8AM":"breakfast":"banana","2PM":"lunch":"fish","8PM":"dinner":"soup"}
然後我想用一個或多個鍵來訪問一個值。
也許通過與列表做一個把戲?
我們將使用字典存儲例如:字典存儲對。誰儲存三倍?
a={"breakfast":"banana","lunch":"fish","dinner":"soup"}
將你的方法是什麼,如果你想添加的時間屬性旁邊每鍵值集。當然不是:
a={"8AM":"breakfast":"banana","2PM":"lunch":"fish","8PM":"dinner":"soup"}
然後我想用一個或多個鍵來訪問一個值。
也許通過與列表做一個把戲?
既然你想使用字典和可能的名單,我建議確定你R「主鍵」是和創建一個嵌套的結構是這樣的:
a = {
'breakfast': {
'time': "8AM",
'items': ['banana', 'yogurt']
},
'lunch': {
'time': '2PM',
'items': ['fish', 'tartar sauce']
},
'dinner': {
'time': '8PM',
'items': ['soup', 'salad']
}
}
每餐的時間是可變的,但我們都知道我們吃早餐,午餐和晚餐(或者至少我們應該)。這樣做,你就可以判斷被消耗的時間和項目:
a['breakfast']['time']
'8AM'
a['breakfast']['items']
['banana', 'yogurt']
你可以使用一個元組作爲字典鍵:
a = {("8AM", "breakfast"): "banana",
("2PM", "lunch"): "fish",
("8PM", "dinner"): "soup",
}
使用帶有一個元組作爲鍵的字典:
>>> a={("8AM","breakfast"):"banana",("2PM","lunch"):"fish",("8PM","dinner"):"soup"}
>>> a["8AM","breakfast"]
'banana'
或者,如果你想要查找的時間和食物只用了一頓名稱:
>>> a={"breakfast":("8AM","banana"),"lunch":("2PM","fish"),"dinner":("8PM","soup")}
>>> a["breakfast"]
('8AM', 'banana')
在這種情況下,您必須編寫整個元組。如果我們只想使用「早餐」而不是「8AM」來訪問該值,那該怎麼辦? – multigoodverse 2013-03-22 23:48:18
請參閱我的編輯,將元組移至值而不是密鑰。 – 2013-03-23 00:04:07
@UneUne這就是爲什麼你被問到鑰匙 – wRAR 2013-03-23 00:10:18
a = {"8AM":{"breakfast":"banana"},"2PM":{"lunch":"fish"},"8PM":{"dinner":"soup"}}
使用:
>>>a['8AM']['breakfast']
'banana'
其他:
def r(_d,_target):
result = []
for k, v in _d.items():
if(k == _target):
if type(v) == type({}):
for x in v.keys():
result.append(v[x])
else:
result.append(v)
if type(v) == type({}):
r2 = r(v,_target)
if len(r2) > 0:
for l in r2:
result.append(l)
return result
>>> r(a,"breakfast")
['banana']
>>> r(a,"8AM")
['banana']
>>> r(a,"dinner")
['soup']
你可以用多少個鍵訪問值?顯示一個例子 – jamylak 2013-03-22 23:40:51
使用一個字典,其中的值是元組的類型 – TJD 2013-03-22 23:41:26