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

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

從python中的字典創建子字典

從python中的字典創建子字典

烙印99 2022-10-25 10:43:25
函數 criarB 返回:{269476: 200129, 209624: 200129 ...} 200129 position in aux2, '200129 and 209624 are keys'如何根據鍵拆分dict,如果keys % 10 = 0 必須存儲在list[0]中list = [[], [], ...]類完成:class Buckets:def __init__(self, keys, palavras, tamanhoP):    self.listaBuckts = dict()    self.listaHash = list()    self.keys = list(keys)    aux = list(zip(keys, palavras))    self.aux2 = list()    for i in range(0, len(aux), tamanhoP):        self.aux2.append(dict(aux[i:i + tamanhoP]))def criarB(self):    for i, pag in enumerate(self.aux2):        for v in pag.keys():            self.listaBuckts[v] = i    return self.listaBucktsdef indexar(self):    count = 0    buckets = [[] for _ in range(10)]    for r in range(0, len(buckets)):        for s in range(0, len(self.listaBuckts)):            if s % 3 == 0:                buckets[r].append([v + count for v in self.listaHash[s:s + 3]])        count += 1    return buckets[0]“索引”功能使用一個只包含索引的列表,如何使用 self.buckets 字典的鍵并根據功能劃分字典試圖:class Buckets:def __init__(self, keys, palavras, tamanhoP):    self.listaBuckts = dict()    self.listaHash = list()    self.keys = list(keys)    aux = list(zip(keys, palavras))    self.aux2 = list()    for i in range(0, len(aux), tamanhoP):        self.aux2.append(dict(aux[i:i + tamanhoP]))def criarB(self):    for i, pag in enumerate(self.aux2):        for v in pag.keys():            self.listaBuckts[v] = i    return self.listaBucktsdef indexar(self):    test = [[] for _ in range(10)]    for x in self.listaBuckts:        i = x % 10        test[i].append([x, dict[x]])    return test[0]
查看完整描述

2 回答

?
GCT1015

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

您可以使用列表理解:


listOfDicts = [{k:v for k,v in dictionary.items() if k%10==i} for i in range(10)]

或循環:


listOfDicts = [ dict() for _ in range(10) ]

for key,value in dictionary.items():

    listOfDicts[key%10].update({key:value})


查看完整回答
反對 回復 2022-10-25
?
繁華開滿天機

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

如果要根據鍵將字典拆分為兩個列表。我認為以下可以工作


dict #The dictionary returned from function crairB

a = [] #List to save keys and values for key%10==0

b = [] #List for key%10!=0

for x in dict:

    if x%10==0:

        a.append([x,dict[x]]) #Here I have saved both keys and values in the list, you can edit according to your need.

    else:

        b.append([x,dict[x]])

編輯:


如果您必須將數據拆分為行等于鍵 % 10 的二維列表,那么我認為以下方法可以工作。


list = [[] for _ in range(10)]


for x in dict:

    i = x%10

    list[i].append([x,dict[x]])


查看完整回答
反對 回復 2022-10-25
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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