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

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

將字典值轉換為Python中的鍵

將字典值轉換為Python中的鍵

吃雞游戲 2023-08-08 09:49:26
groups_per_user 函數接收一個字典,其中包含組名稱和用戶列表。用戶可以屬于多個組。填寫空白以返回一個字典,其中用戶作為鍵,其組列表作為值def groups_per_user(group_dictionary):    user_groups = {}    for key,values in group_dictionary.items():        for users in values:            user_groups[users] = user_groups.get(users,0)+1    return(user_groups)print(groups_per_user({"local": ["admin", "userA"],"public":  ["admin", "userB"],"administrator":         ["admin"] }))# output must be {'admin':["local","public","administrator"],'userA':"local" ,'userB':"public"}#output I am getting {'admin': 3, 'userA': 1, 'userB': 1}
查看完整描述

2 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

您可以迭代當前dict并反轉鍵值對:


d = {"local": ["admin", "userA"], "public":  ["admin", "userB"], "administrator": ["admin"] }


res = {}

for k,v in d.items():

    for e in v:

        if e in res:

            res[e].append(k)

        else:

            res[e] = [k]

print(res)

輸出:


{'admin': ['public', 'administrator', 'local'], 'userB': ['public'], 'userA': ['local']}   



查看完整回答
反對 回復 2023-08-08
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

請嘗試下面的程序。它只是迭代 group_dictionary 的所有元素并構造 user_dictionary。


def groups_per_user(group_dictionary):

    user_groups=dict([(a,[]) for a in sum(group_dictionary.values(),list())])

    for u in user_groups:

        for g in group_dictionary:

            if u in group_dictionary[g]:

                user_groups[u].append(g)

    return(user_groups)


print(groups_per_user({"local": ["admin", "userA"],"public":  ["admin", "userB"],"administrator":         ["admin"] }))

輸出


{'admin': ['local', 'public', 'administrator'], 'userA': ['local'], 'userB': ['public']}


查看完整回答
反對 回復 2023-08-08
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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