[英]how to check and replace list element in dictionary key using python
我正在尝试检查字典键中是否存在列表元素,然后用字典值替换列表元素。
输入数据
list1 : ['Customer_Number', 'First_Name', 'Last_Name']
dict1 : {'Customer_Number': 'A', 'First_Name': 'B', 'Middle_Name': 'C', 'Last_Name': 'D', 'Org_Names': 'E'}
预计 Output
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'
您会收到错误,因为您试图将列表用作字典的键,这是不可能的,因为只有像strings 、 tuples和integers这样的不可变对象可以用作字典中的键。 要解决此错误,请确保在字典中创建项目时仅使用可散列对象。
现在朝着你想要实现的方向前进
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)
尝试这个:
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)
尝试:
res = list()
for k, v in dict1.items():
if k in list1:
res.append(v)
print(res)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.