想實作如下的字典:
{id: 4, name: "t1"}, {id: 5, name: "t2"}
函式定義如下
def(clustername,*args)
*args中的輸入即字典中的name的value,id是通過name的value呼叫其他函式獲取的,name和id一一對應
def XXXXX(clustername,*args):
data_Dic={}
for i in args:
name=i
id = str(ZZZZZZ(clustername, name))
data_Dic["id"]=id
data_Dic["name"]=i
print(data_Dic)
發現這樣寫了之后只能輸出一個字典
{'id': '5', 'name': 't2'}
不清楚是否是for這里有問題
uj5u.com熱心網友回復:
data_lst=[]for i in ['a','b','c']:
for j in [1,2,3]:
data_Dic={}
data_Dic["id"]=j
data_Dic["name"]=i
data_lst.append(data_Dic)
print(data_lst)
先建立一個串列,for回圈生成的字典依次添加到串列中
uj5u.com熱心網友回復:
小伙子,先把字典的特性搞清楚哈!首先你說想實作如下的字典:
{id: 4, name: "t1"}, {id: 5, name: "t2"}
字典的key是唯一的,
如果你都放在一個字典中,后面相同key的value肯定會覆寫掉前面的!
你這2組資料都有id和name,那么肯定會被覆寫掉!
----------------------除非是這樣:
{'key1':{id: 4, name: "t1"}, 'key2':{id: 5, name: "t2"}}
這種是大字典中包含了小字典!這樣就增加了問題的復雜性,所以也并不建議你這么去構造!
事實上,你可以把你的每個字典都放進串列中
[{id: 4, name: "t1"}, {id: 5, name: "t2"}, ..{}..{}...]
不過,串列中存放字典,在查找效率方面反而降低不少
=============================================
所以,如果你的id可以確定是唯一的,那你也可以這么有規律的方式去構造字典!
{'id4': 't1', 'id5': 't2'...}
看你的實際需求去選擇吧!
uj5u.com熱心網友回復:
雙重鑲套的問題,是字典包括在串列,還是在字典中,要想清楚,一個單一的字典,只能存盤一組資料uj5u.com熱心網友回復:
用陣列套字典吧,這樣還好弄點轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/52715.html
上一篇:在做GPU編程時,要根據其特性進行寫KERNEL,如何搞清資料劃分和并行任務的實作
下一篇:python批量裁剪
