python 列表包字典 字典結構格式化 經驗

2021-09-25 20:04:30 字數 1600 閱讀 2806

# 列表包字典,字典格式化

## 當前有乙個列表包字典

data_list = [,]

# 期望字典資料格式化一下,統一刪除指定的鍵值對,對沒有的鍵值對進行新增(有的不動)

# 期望格式: [, ]

print("原始的資料如下:")

print(data_list)

# 遍歷列表,依次獲得字典

for data in data_list:

# 如果字典中存在age鍵就刪掉

if "age" in data:

data.pop("age")

# 如果字典中不存在m_time,那就新增乙個m_time的鍵值對(存在就不動它)

if "m_time" not in data:

data["m_time"] = 0

else:

print("處理完畢,結果如下*****==")

# 輸出最終的結果

print("關注效果,張三李四的age鍵值對都消失了,張三字典因為沒有m_time,所以新增了乙個鍵值對,給了他預設值,李四字典有m_time鍵值對,所以不對他原有的資料做修改")

print(data_list)

c:\users\python_hui\anaconda3\python.exe g:/易二/bin/1111.py

原始的資料如下:

[, ]

處理完畢,結果如下*****==

關注效果,張三李四的age鍵值對都消失了,張三字典因為沒有m_time,所以新增了乙個鍵值對,給了他預設值,李四字典有m_time鍵值對,所以不對他原有的資料做修改

列表要去重,需刪除其中的字典。

刪除的時候,需要確保兩者的資料是一樣的。

因此需要乙個函式格式化處理一下selected_data

處理辦法

def fmt_2_all_knowledge(data_dict):

"""格式化為all_knowledge的結構

接收乙個字典

按照all_knowledge的格式,把字典中多出的鍵除掉

:param data_dict:

:return:格式化好的字典,結構同all_knowledge

"""if "score" in data_dict: data_dict.pop("score")

if "level" in data_dict: data_dict.pop("level")

if "m_time" in data_dict: data_dict.pop("m_time")

return data_dict

格式化後的效果,關注兩個字典的結構

本經驗由這個例子提練而來,並且在這個例子基礎上進行了乙個高階。

python 字典 列表

dictionary 字典,是除列表以外,python中最靈活的資料型別。字典可以儲存多個資料,儲存相關的資訊 dict 字典使用鍵值對儲存資料,鍵值對鍵名和鍵值 鍵名 key 就是鍵索引 鍵值 value 是資料 鍵名和鍵值之間用 值可以是任何型別,鍵名只能是字串 數字,元組 列表是有序的集合 下...

Python字典列表

字典 dictionary 鍵值對 key value 的集合。定義時使用花括號 eg name dic 這個是隨便寫的 key可以是數字或者字串型別 也可以是布林型別,比較少 value可以是任意型別的資料。字典訪問 print name key 字典新增 name key value 存在會覆蓋...

字典排序 元組列表 恢復字典結構

前言 僅個人小記。如下 排序函式sorted中兩種取值函式 1.借助lambda匿名函式 取值 d r sorted d.items key lambda x x 1 reverse false reverse false 表示從小到大 lambda x x 1 表示傳入x,返回x 1 r為元組列表...