亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將不同的列表值應用于python中的字典

將不同的列表值應用于python中的字典

呼啦一陣風 2021-09-24 21:31:00
我有三個包含不同值模式的列表。這應該僅在基于某些 if 條件的單個字典中附加特定值。我嘗試了以下方法來執行此操作,但我從列表中獲取了所有值。class_list = [1,2,3,4,5,6]boxes = [[0.1,0.2,0.3,0.4],[0.5,0.7,0.8,0.9],[0.7,0.9,0.4,0.2],[0.9,0.7,0.6,0.3],[0.9,0.14,0.6,0.3],[0.9,0.7,0.6,0.13]]scores = [0.98,0.87,0.97,0.96,0.94,0.92]k=1;data = {}for a in scores:    for b in boxes:        for c in list:            if a >= 0.98:                data[k+1] = {"score":a,"box":b, "class": c } ;                k=k+1;print("Final_result",data)
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

也許使用zip:


for a,b,c in zip(scores,boxes,class_list):

   if a >= 0.98:

       data[k+1] = {"score":a,"box":b, "class": c } ;

       k=k+1;

print("Final_result",data)

輸出:


Final_result {2: {'score': 0.98, 'box': [0.1, 0.2, 0.3, 0.4], 'class': 1}}

編輯:


for a,b,c in zip(scores,boxes,class_list):

   if a >= 0.98:

       data[k+1] = {"score":a,"box":b, "class": int(c) } ;

       k=k+1;

print("Final_result",data)


查看完整回答
反對 回復 2021-09-24
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您正在獲取所有值,因為您正在使用所有其他值循環所有值,即 6x6x6 次。我了解您的問題,您需要使用的是 Zip 功能。


llist = [1,2,3,4,5,6]


boxes = [[0.1,0.2,0.3,0.4],[0.5,0.7,0.8,0.9],[0.7,0.9,0.4,0.2],[0.9,0.7,0.6,0.3],[0.9,0.14,0.6,0.3],[0.9,0.7,0.6,0.13]]


scores = [0.98,0.87,0.97,0.96,0.94,0.92]


k=1;


data = {}




for a,b,c in zip(scores, boxes, llist):

    if a >= 0.98:

        data[k] = {"score":a,"box":b, "class": c } ;

        k = k + 1


for k in data.keys():

    print(k , data[k])

ps:避免使用關鍵字命名變量,列表是關鍵字??赡軙龅絾栴},您甚至可以找到原因。


查看完整回答
反對 回復 2021-09-24
  • 2 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號