以下是一个示例代码,展示了如何遍历两个具有不同对象并比较一个参数的列表:
list1 = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
list2 = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 40}, {'name': 'Dave', 'age': 35}]
for item1 in list1:
for item2 in list2:
if item1['name'] == item2['name']:
if item1['age'] == item2['age']:
print(f"Name: {item1['name']}, Age: {item1['age']}, Matches in both lists")
else:
print(f"Name: {item1['name']}, Age: {item1['age']}, Age mismatch (List 1: {item1['age']}, List 2: {item2['age']})")
break
else:
print(f"Name: {item1['name']}, Age: {item1['age']}, Not found in list2")
上述代码中,我们有两个列表list1
和list2
,每个列表中的元素是一个字典,包含name
和age
两个参数。我们使用嵌套的for
循环遍历list1
和list2
中的所有元素。
在内层循环中,我们首先比较name
参数,如果两个元素的name
相同,则继续比较age
参数。如果age
参数也相同,则打印匹配的信息。如果age
参数不同,则打印不匹配的信息。
如果内层循环遍历完list2
都没有找到匹配的name
,则打印未在list2
中找到的信息。
注意,在找到匹配的name
后,我们使用break
语句来跳出内层循环,因为我们已经找到了匹配项,不需要再继续比较。
运行上述代码,将输出以下结果:
Name: Alice, Age: 25, Matches in both lists
Name: Bob, Age: 30, Age mismatch (List 1: 30, List 2: 40)
Name: Charlie, Age: 35, Not found in list2
上一篇:遍历两个JSON数组并使用布尔条件[Angular 10]
下一篇:遍历两个列表