我正在嘗試檢查字典鍵中是否存在串列元素,然后用字典值替換串列元素。
輸入資料
list1 : ['Customer_Number', 'First_Name', 'Last_Name']
dict1 : {'Customer_Number': 'A', 'First_Name': 'B', 'Middle_Name': 'C', 'Last_Name': 'D', 'Org_Names': 'E'}
預期產出
list: ['A', 'B', 'D']
代碼嘗試
for ele in list1:
if ele in dict1.keys():
list1.append(dict1.values())
獲取錯誤
keys: dict_keys(['Customer_Number', 'First_Name', 'Middle_Name', 'Last_Name', 'Org_Names'])
TypeError: unhashable type: 'dict_keys'
uj5u.com熱心網友回復:
您收到錯誤是因為您試圖使用串列作為字典的鍵,這是不可能的,因為只有像字串、元組和整數這樣的不可變物件可以用作字典中的鍵。要解決此錯誤,請確保在字典中創建專案時僅使用可哈希物件。
現在朝著你想要實作的方向前進
list1 = ['Customer_Number', 'First_Name', 'Last_Name']
dict1 = {'Customer_Number': 'A', 'First_Name': 'B', 'Middle_Name': 'C', 'Last_Name': 'D', 'Org_Names': 'E'}
newList = []
for key, value in dict1.items():
if key in list1:
newList.append(value)
print(newList)
uj5u.com熱心網友回復:
嘗試這個:
list1 = ['Customer_Number', 'First_Name', 'Last_Name']
dict1 = {'Customer_Number': 'A', 'First_Name': 'B', 'Middle_Name': 'C', 'Last_Name': 'D', 'Org_Names': 'E'}
res = [v for k,v in dict1.items() if k in list1]
print(res)
uj5u.com熱心網友回復:
嘗試:
res = list()
for k, v in dict1.items():
if k in list1:
res.append(v)
print(res)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373944.html
