python 關於字典與列表的乙個作業

2022-08-21 12:51:12 字數 2183 閱讀 6230

題目是這樣的:

給定乙個字典dict1,將其轉換成dict2:

dict1 =, ],

'warning

':[, ]

}dict2 = , ], '

sjzx_sy21_121.201.56.4

': [, ]}

腦子摩擦了乙個下午:

dict1 =,

],'warning

': [,

]}def

getvalue(dictcome, key):

retdict ={}

for item in dictcome.get(key): #

遍歷傳入字典的key為傳入key值的對應value,item為

valuelist = list(item.values()) #

將item的value值儲存為列表

#['sjzx_sy22_121.201.56.5', 23]//['sjzx_sy21_121.201.56.4', 4]

retdict[valuelist[0]] = #

儲存為dict2字典的格式,主要是提取dict2的key

return retdict #

, 'sjzx_sy21_121.201.56.4': }

def combindtwo(dicta, dictb): #

合併兩個字典,key值唯一,相同key對應的value儲存為列**式

for i,j in

dictb.items():

if i in

dicta.keys():

listtmp =[dicta.get(i), j]

dicta.update(

': listtmp})

else

: dicta.update(

': dictb[i]})

return

dicta

tmplist =

for key in

dict1.keys():

#這裡按dict1的key值呼叫getvalue引數,將dict1換一種格式輸入

#將獲取到的字典儲存在列表裡,但是下面呼叫combindtwo函式時,我是直接用item取的。。。我覺得怪怪的。但不知道該如何做??

print('

原字典為:')

print

(dict1)

print('

修改後的字典如下:')

print(combindtwo(tmplist[0], tmplist[1]))

最後輸入結果為:(也算是達到目的了吧= =)

原字典為:

, ], '

warning

': [, ]}

修改後的字典如下:

, ], '

sjzx_sy21_121.201.56.4

': [, ]}

然後看一下給我出題的大佬寫的程式:

def

get_ip_count(d):

result ={}

for key, values in

d.items():

for ip_result in

values:

#以 ip 為鍵,設定值為預設空列表

result.setdefault(ip_result['

key'

], )

#result[ip_result['key']] =

result_count ={}

result_count[key] = ip_result['

doc_count']

result[ip_result[

'key

'

return

result

if__name__ == '

__main__':

d = ,

],'warning

': [,]}

result =get_ip_count(d)

print(result)

setdefault()方法:

dict.setdefault(key[,default=none])

呵呵。我要繼續努力!

python的列表 元組與字典

python支援一種資料結構的基本概念,即容器 container 容器基本上就是包含其他物件的物件。兩種主要的容器就是序列 如列表和元組 與對映 如字典 在序列中,每個元素都有編號,這個編號我們也可以稱之為索引,從0開始遞增。而在對映中,每個元素都有名稱 也叫做鍵 列表的特點就是可以修改,而且列表...

Python中的列表與字典

1,列表 由一系列按特定順序排列的元素組成。你可以建立包含字母表中所有字母 數字0 9或所有家庭成員姓名的列表 也可以將任何東西加入列表中,其中的元素之間可以沒有 任何關係。鑑於列表通常包含多個元素,給列表指定乙個表示複數的名稱 如letters digits 或names 是個不錯的主意。在pyt...

python 列表與字典轉換

在寫爬蟲的時候,經常需要處理cookie,requests庫里的cookie是dict,但是headers cookie 卻是乙個key value的字串。coding utf 8 import logging key value列表轉換成cookie字典 defcookie list 2 dict...