roll_number = [47, 64, 69, 37, 76, 83, 95, 97]
sample_dict = {'Jhon':47, 'Emma':69, 'Kelly':76, 'Jason':97}
for item in roll_number:
if item in sample_dict:
continue
else:
roll_number.remove(item)
print("After removing unwanted elements from list", roll_number)
roll_number = [47, 64, 69, 37, 76, 83, 95, 97]
sample_dict = {'Jhon':47, 'Emma':69, 'Kelly':76, 'Jason':97}
lst = list(roll_number)
for item in lst:
if item in sample_dict.values():
continue
else:
roll_number.remove(item)
print("After removing unwanted elements from list:", roll_number)
你的if判断不太对
因为你使用的判断语句的结果可能出乎你的意料:
if item in sample_dict
sample_dict是一个dict类型,当我们对一个字典类型使用in的时候,实际上是去判断这个dict的keys()里面有没有包含。
所以:
if item in sample_dict 等价与 if item in sample_dict.keys()
而显然你的逻辑是想要这样 -> if item in sample_dict.values()
roll_number = [47, 64, 69, 37, 76, 83, 95, 97]
sample_dict = {'Jhon':47, 'Emma':69, 'Kelly':76, 'Jason':97}
filtered_roll_number = []
for item in roll_number:
if item in sample_dict:
filtered_roll_number.append(item)
roll_number = filtered_roll_number
print("After removing unwanted elements from list", roll_number)
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢