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

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

在Python中將列表轉(zhuǎn)換為字典

在Python中將列表轉(zhuǎn)換為字典

手掌心 2019-07-25 16:14:51
在Python中將列表轉(zhuǎn)換為字典假設(shè)我a在Python中有一個(gè)列表,其條目可以方便地映射到字典。每個(gè)偶數(shù)元素代表字典的鍵,以下奇數(shù)元素是值例如,a = ['hello','world','1','2']我想把它轉(zhuǎn)換成字典b,在那里b['hello'] = 'world'b['1'] = '2'什么是語(yǔ)法上最干凈的方法來(lái)實(shí)現(xiàn)這一目標(biāo)?
查看完整描述

3 回答

?
牧羊人nacy

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

b = dict(zip(a[::2], a[1::2]))

如果a很大,你可能想要做類似下面的事情,它不會(huì)像上面那樣制作任何臨時(shí)列表。

from itertools import izip
i = iter(a)b = dict(izip(i, i))

在Python 3中你也可以使用dict理解,但具有諷刺意味的是,我認(rèn)為最簡(jiǎn)單的方法是使用range()len(),這通常是代碼氣味。

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}

因此,該iter()/izip()方法仍然可能是Python 3中最Pythonic 的方法,盡管EOL在評(píng)論中指出,zip()在Python 3中已經(jīng)很懶,所以你不需要izip()。

i = iter(a)b = dict(zip(i, i))

如果你想要它在一行,你將不得不作弊并使用分號(hào)。;-)



查看完整回答
反對(duì) 回復(fù) 2019-07-26
?
Cats萌萌

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

您可以非常輕松地使用dict理解:

a = ['hello','world','1','2']my_dict = {item : a[index+1] for index, item in enumerate(a) if index % 2 == 0}

這相當(dāng)于下面的for循環(huán):

my_dict = {}for index, item in enumerate(a):
    if index % 2 == 0:
        my_dict[item] = a[index+1]




查看完整回答
反對(duì) 回復(fù) 2019-07-26
  • 3 回答
  • 0 關(guān)注
  • 499 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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