chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python通過(guò)序列生成字典

python爬蟲(chóng)知識(shí)分享 ? 來(lái)源:python爬蟲(chóng)知識(shí)分享 ? 作者:python爬蟲(chóng)知識(shí)分享 ? 2022-03-29 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過(guò)序列生成字典

我們將下面的序列轉(zhuǎn)換為dict類(lèi)型。

lst=[('a',1),('b',2),('c',3)]

普通的寫(xiě)法

fork,vinlst:
dic[k]=v

pythonic的寫(xiě)法

利用字典推導(dǎo)式快速生成字典。

{k:vfork,vinlst}

key的默認(rèn)值

當(dāng)指定key不存在時(shí),將value設(shè)置為 0。

普通的寫(xiě)法

ifkeynotindct:
dct[key]=0

pythonic的寫(xiě)法

dct[key]=dct.get(key,0)

交換key與value

普通的寫(xiě)法

dic={'Python':1,'Java':2}
new_dic={}
fork,vindic.items():
new_dic[v]=k

pythonic的寫(xiě)法

dic={'Python':1,'Java':2}
new_dic={v:kfork,vindic.items()}

序列修改和初始化

示例數(shù)據(jù)

lst=[('a',1),('b',2),('c',3)]
dic={'a':[0]}

如果我們需要根據(jù)lst來(lái)更新dic中的數(shù)據(jù),當(dāng)key存在,則將value添加到原序列末尾,否則初始化value并用序列保存。

普通的寫(xiě)法

forkey,valueinlst:
ifkeyindic:
dic[key].append(value)
else:
dic[key]=[value]

pythonic的寫(xiě)法

for(key,value)inlst:
group=dic.setdefault(key,[])
group.append(value)
# dic:{'a':[0, 1], 'b':[2], 'c':[3]}

setdefault(key, default)會(huì)先判斷key是否存在,存在則返回dct[key], 不存在則把dct[key]設(shè)為 [] 并返回。

key,items的集合運(yùn)算

如果我們現(xiàn)在需要獲取兩個(gè)字典的key相交的部分的映射信息。

普通的寫(xiě)法

dic1={'Python':1,'Java':2,'C':3}
dic2={'Python':3,'Java':2,'C++':1}

new_dic={}
fork,vindic1.items():
ifkindic2.keys():
new_dic[k]=v
print(new_dic)

#{'Python':1,'Java':2}

pythonic的寫(xiě)法

dic1={'Python':1,'Java':2,'C':3}
dic2={'Python':3,'Java':2,'C++':1}

print({k:dic1[k]forkindic1.keys()&dic2.keys()})

#{'Python':1,'Java':2}

這里的dic1.keys() & dic2.keys()用到的就是keys()進(jìn)行集合運(yùn)算,items()同樣可以進(jìn)行集合運(yùn)算。

如果現(xiàn)在我們要獲取兩個(gè)字典中key,value完全相同的部分。

dic1={'Python':1,'Java':2,'C':3}
dic2={'Python':3,'Java':2,'C++':1}

print(dic1.items()&dic2.items())

#{('Java',2)}

靈活運(yùn)用 keys,items() 集合運(yùn)算的特性,可以快速提取我們想要的內(nèi)容。

按key或value對(duì)字典排序

使用sorted()函數(shù)快速實(shí)現(xiàn)對(duì)keyvalue的排序。

dic={'a':2,'b':1,'c':3,'d':0}
lst1=sorted(dic.items(),key=lambdax:x[0],reverse=False)
#[('a',2),('b',1),('c',3),('d',0)]
lst2=sorted(dic.items(),key=lambdax:x[1],reverse=False)
#[('d',0),('b',1),('a',2),('c',3)]
print('按照鍵降序:',{key:valueforkey,valueinlst1})
print('按照值降序:',{key:valueforkey,valueinlst2})

#按照鍵降序:{'a': 2, 'b': 1, 'c': 3, 'd':0}
#按照值降序:{'d':0, 'b': 1, 'a': 2, 'c': 3}

多個(gè)字典排序

如果一個(gè)序列中包含多個(gè)字典,現(xiàn)在要根據(jù)條件對(duì)這些字典繼續(xù)排序。同樣可以使用sorted()函數(shù)來(lái)實(shí)現(xiàn)。

dict_list=[
{'letter':'B','number':'2'},
{'letter':'A','number':'3'},
{'letter':'B','number':'1'}
]

#按letter排序
print(sorted(dict_list,
key=lambdadic:dic['letter']))
#按letter,number排序
print(sorted(dict_list,
key=lambdadic:(dic['letter'],dic['number'])))

#[{'letter':'A','number':'3'},{'letter':'B','number':'2'},{'letter':'B','number':'1'}]
#[{'letter':'A','number':'3'},{'letter':'B','number':'1'},{'letter':'B','number':'2'}]

當(dāng)然,如果你知道itemgetter()的話(huà),上面的代碼就可以改變一下,執(zhí)行速度會(huì)更快。

fromoperatorimportitemgetter

print(sorted(dict_list,
key=itemgetter('letter')))
print(sorted(dict_list,
key=itemgetter('letter','number')))

itemgetter()獲取的不是值,而是定義了一個(gè)函數(shù),通過(guò)該函數(shù)作用到目標(biāo)對(duì)象上。
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4413

    瀏覽量

    67199
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4866

    瀏覽量

    89801
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ATA-D60090功率放大器在時(shí)間調(diào)制序列生成中的應(yīng)用

    利用計(jì)算機(jī)生成波束掃描所需的的波束掃描的時(shí)間編碼序列。根據(jù)時(shí)間編碼序列,任意信號(hào)發(fā)生器產(chǎn)生的方波信號(hào)通過(guò)功率放大器產(chǎn)生控制電壓信號(hào)。
    的頭像 發(fā)表于 11-30 14:27 ?366次閱讀
    ATA-D60090功率放大器在時(shí)間調(diào)制<b class='flag-5'>序列</b><b class='flag-5'>生成</b>中的應(yīng)用

    思必馳一鳴智能客服大模型通過(guò)生成式人工智能服務(wù)備案

    近日,江蘇網(wǎng)信發(fā)布新一批生成式人工智能服務(wù)備案信息,其中,由思必馳控股子公司馳必準(zhǔn)自主研發(fā)的一鳴智能客服大模型通過(guò)生成式人工智能服務(wù)管理暫行辦法》備案。
    的頭像 發(fā)表于 09-16 18:08 ?1114次閱讀

    中車(chē)斫輪大模型通過(guò)國(guó)家生成式人工智能服務(wù)備案

    9月14日,國(guó)家互聯(lián)網(wǎng)信息辦公室發(fā)布最新公告,“中車(chē)斫輪”大模型通過(guò)生成式人工智能服務(wù)”備案,標(biāo)志著其在數(shù)據(jù)安全治理、模型機(jī)制透明度、內(nèi)容生成合規(guī)性等核心維度已全面對(duì)標(biāo)國(guó)家監(jiān)管要求,正式具備向行業(yè)
    的頭像 發(fā)表于 09-16 09:16 ?725次閱讀

    canopen如何通過(guò)對(duì)象字典控制外設(shè)?

    各位大佬好,我在移植canopen的時(shí)候碰到一個(gè)疑問(wèn)。比如我修改對(duì)象字典2000,子索引為0這個(gè)目錄下的值,如何這個(gè)對(duì)象映射的是某個(gè)led燈的亮滅,輸入1為亮,0為滅。 問(wèn)題就是我發(fā)送報(bào)文之后會(huì)進(jìn)入
    發(fā)表于 09-11 06:04

    小紅書(shū):通過(guò)商品標(biāo)簽API自動(dòng)生成內(nèi)容標(biāo)簽,優(yōu)化社區(qū)推薦算法

    推薦系統(tǒng)的準(zhǔn)確性和用戶(hù)體驗(yàn)。整個(gè)過(guò)程結(jié)構(gòu)清晰,分為三個(gè)步驟:API集成、標(biāo)簽自動(dòng)生成和算法優(yōu)化。 第一步:商品標(biāo)簽API的集成與數(shù)據(jù)獲取 小紅書(shū)通過(guò)開(kāi)放API接口,實(shí)時(shí)獲取商品的結(jié)構(gòu)化標(biāo)簽數(shù)據(jù)。這些標(biāo)簽包括品類(lèi)(如“美妝”或“服飾”
    的頭像 發(fā)表于 09-10 16:46 ?836次閱讀
    小紅書(shū):<b class='flag-5'>通過(guò)</b>商品標(biāo)簽API自動(dòng)<b class='flag-5'>生成</b>內(nèi)容標(biāo)簽,優(yōu)化社區(qū)推薦算法

    termux調(diào)試python猜數(shù)字游戲

    實(shí)現(xiàn)(Python版) ```python import random def guess_number(): # 生成隨機(jī)數(shù)字(1-100) secret_number
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    模擬器,支持通過(guò)APT包管理器安裝軟件。搭建Python游戲開(kāi)發(fā)環(huán)境前需完成以下基礎(chǔ)配置: 1. 更換國(guó)內(nèi)源 為提升下載速度,需替換Termux默認(rèn)源為清華源,執(zhí)行以下命令: ```bash
    發(fā)表于 08-29 07:06

    NVIDIA recsys-examples在生成式推薦系統(tǒng)中的高效實(shí)踐

    生成式 AI 浪潮的推動(dòng)下,推薦系統(tǒng)領(lǐng)域正經(jīng)歷深刻變革。傳統(tǒng)的深度學(xué)習(xí)推薦模型 (DLRMs) 雖已展現(xiàn)出一定效果,但在捕捉用戶(hù)興趣偏好和動(dòng)態(tài)行為序列變化時(shí),常面臨可擴(kuò)展性挑戰(zhàn)。生成式推薦系統(tǒng) (Generative Reco
    的頭像 發(fā)表于 07-04 14:43 ?988次閱讀
    NVIDIA recsys-examples在<b class='flag-5'>生成</b>式推薦系統(tǒng)中的高效實(shí)踐

    基礎(chǔ)篇3:掌握Python中的條件語(yǔ)句與循環(huán)

    : print(\"你還很小。\") 循環(huán) 循環(huán)允許程序重復(fù)執(zhí)行一段代碼,直到滿(mǎn)足某個(gè)條件為止。Python中有幾種不同的循環(huán)結(jié)構(gòu)。 for循環(huán) for循環(huán)通常用于遍歷序列(如列表、元組
    發(fā)表于 07-03 16:13

    python入門(mén)圣經(jīng)-高清電子書(shū)(建議下載)

    和Pygal 等強(qiáng)大的Python 庫(kù)和工具介紹,以及列表、字典、if 語(yǔ)句、類(lèi)、文件與異常、代碼測(cè)試等內(nèi)容; 第二部分將理論付諸實(shí)踐,講解如何開(kāi)發(fā)三個(gè)項(xiàng)目,包括簡(jiǎn)單的Python 2D 游戲開(kāi)發(fā)如何利用數(shù)據(jù)
    發(fā)表于 04-10 16:53

    聲智APP通過(guò)北京市生成式人工智能服務(wù)登記

    近日,聲智APP已正式通過(guò)北京市第二批生成式人工智能服務(wù)登記,成為《生成式人工智能服務(wù)管理暫行辦法》(以下簡(jiǎn)稱(chēng)《辦法》)實(shí)施以來(lái),北京市累計(jì)已完成46款生成式人工智能服務(wù)登記中的重要一
    的頭像 發(fā)表于 03-19 16:33 ?880次閱讀

    ?Diffusion生成式動(dòng)作引擎技術(shù)解析

    Diffusion生成式動(dòng)作引擎 Diffusion生成式動(dòng)作引擎是一種基于擴(kuò)散模型(Diffusion Models)的生成式人工智能技術(shù),專(zhuān)注于生成連續(xù)、逼真的人類(lèi)動(dòng)作或動(dòng)畫(huà)
    的頭像 發(fā)表于 03-17 15:14 ?2886次閱讀

    dlp3010如何通過(guò)RGB888通道,讓dlp3010投影序列圖?

    想請(qǐng)問(wèn)下,dlp3010如何通過(guò)RGB888通道,讓dlp3010投影序列圖,dlpc3479+dlpa2005,掃描方式有沒(méi)有參考
    發(fā)表于 02-25 07:25

    Python中的迭代器與生成

    Python迭代器與生成器 列表生成式 列表生成式也叫做列表推導(dǎo)式,它本身還是列表,只不過(guò)它是根據(jù)我們定義的規(guī)則來(lái)生成一個(gè)真實(shí)的列表。 ?
    的頭像 發(fā)表于 02-20 10:43 ?779次閱讀

    開(kāi)源隨機(jī)數(shù)生成器庫(kù)OpenRNG助力實(shí)現(xiàn)移植到Arm平臺(tái)時(shí)的最佳性能

    OpenRNG 實(shí)現(xiàn)了多種生成器和分布方式。生成器算法可生成“看似隨機(jī)”并具有某些統(tǒng)計(jì)特性的序列,我們將在下文進(jìn)行討論。分布方式會(huì)將序列映射
    的頭像 發(fā)表于 02-08 09:24 ?1939次閱讀
    開(kāi)源隨機(jī)數(shù)<b class='flag-5'>生成</b>器庫(kù)OpenRNG助力實(shí)現(xiàn)移植到Arm平臺(tái)時(shí)的最佳性能