以下是一个示例代码,展示了如何遍历两个具有不同对象并比较一个参数的列表:
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]
下一篇:遍历两个列表