第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 將重復(fù)類(lèi)別名稱(chēng)的字典從 SQL 查詢(xún)重新排列為單個(gè)類(lèi)別名稱(chēng)作為鍵

Python 將重復(fù)類(lèi)別名稱(chēng)的字典從 SQL 查詢(xún)重新排列為單個(gè)類(lèi)別名稱(chēng)作為鍵

慕哥9229398 2023-08-22 15:14:09
所以我試圖獲得像這樣的字典結(jié)果:{'foo': ({'key': 'value'}, {'key': 'value1'})}到目前為止,我只能使用以下代碼實(shí)現(xiàn)此結(jié)果:maindict = {}dict1 = {'key': 'value'}dict2 = {'key': 'value1'}maindict['foo'] = dict1, dict2print(maindict)但我不能在 for 循環(huán)中使用它。嘗試了 update() 字典函數(shù),它只是覆蓋了字典。有辦法解決嗎?編輯好的,伙計(jì)們,這是原始查詢(xún)。查詢(xún)返回此:現(xiàn)在在 python 中,這就是 sql 查詢(xún)的樣子:[{'id': 1, 'url': '/static/images/dresses/td1.jpg', 'price': 3000, 'name': 'product1', 'catname': 'Linen', 'catid' : 1}, {'id': 4, 'url': '/static/images/dresses/td4.jpg', 'price': 5000, 'name': 'product4', 'catname': 'Linen', 'catid': 1}, {'id': 2, 'url': '/static/images/dresses/td2.jpg', 'price': 2500, 'name': 'product2', 'catname': '雪紡', 'catid': 2}, {'id': 3, 'url': '/static/images/dresses/td3.jpg', 'price': 4000, 'name': 'product3', 'catname ': '雪紡', 'catid': 2}, {'id': 5, 'url': '/static/images/dresses/td5.jpg','價(jià)格': 6000, '名稱(chēng)': '產(chǎn)品6', 'catname': 'Chiffron', 'catid': 2}]我試圖在 for 循環(huán)中重新排列這個(gè)字典列表,每個(gè)產(chǎn)品及其信息作為值都嵌套在單個(gè)鍵中,其中鍵是 catname(產(chǎn)品的類(lèi)別),例如對(duì)于 Linen 類(lèi)別,我希望它重新排列為: {'亞麻布': ({'名稱(chēng)': '產(chǎn)品1', '價(jià)格': 'xxx'....}, {'名稱(chēng)': '產(chǎn)品4', '價(jià)格': 'xxx'}...)對(duì)于 Chiffron 或查詢(xún)中的任何類(lèi)別也是如此。這就是我想要對(duì) python 字典中的查詢(xún)行進(jìn)行排序的方式。正如您所看到的,catname(產(chǎn)品類(lèi)別)在查詢(xún)中已重復(fù)多次。我想減少這種重復(fù)。我想要每個(gè)不同類(lèi)別都有一本字典,并通過(guò)嵌套字典對(duì)產(chǎn)品及其類(lèi)別下的信息進(jìn)行排序。
查看完整描述

1 回答

?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以使用collections.defaultdict收集列表中的行,并按類(lèi)別名稱(chēng)分組。

import collections


maindict = collections.defaultdict(list)


for row in rows:

? ? maindict[row['catname']].append(row)


for value in maindict['Linen']:

? ? print(value)


{'id': 1, 'url': '/static/images/dresses/td1.jpg', 'price': 3000, 'name': 'product1', 'catname': 'Linen', 'catid': 1}

{'id': 4, 'url': '/static/images/dresses/td4.jpg', 'price': 5000, 'name': 'product4', 'catname': 'Linen', 'catid': 1}

您可以對(duì)普通的 執(zhí)行相同的操作dict,但是每次遇到新鍵時(shí)都需要?jiǎng)?chuàng)建初始列表;defaultdict為您處理這件事。


查看完整回答
反對(duì) 回復(fù) 2023-08-22
  • 1 回答
  • 0 關(guān)注
  • 1616 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)