python 列表嵌套字典,遍历列表并判断后一位与前一位字典中的值是否相等,不相等退出循环
时间: 2024-02-25 18:56:01 浏览: 71
可以使用for循环遍历列表,然后用索引来获取当前字典和前一个字典,比较它们的值是否相等,如果不相等就可以退出循环了,如下所示:
```python
lst = [{'name': 'Tom', 'age': 18}, {'name': 'Jerry', 'age': 20}, {'name': 'Lucy', 'age': 22}, {'name': 'Lily', 'age': 22}]
for i in range(1, len(lst)):
if lst[i]['age'] != lst[i-1]['age']:
break
print(lst[i]['name'], lst[i]['age'])
```
输出结果如下:
```
Lucy 22
Lily 22
```
这里使用了range函数来生成索引,从1开始遍历,因为要比较当前字典和前一个字典的值,所以需要从第二个元素开始遍历。如果当前字典和前一个字典的值不相等,就可以退出循环了。
相关问题
python 字典嵌套列表 如何判断两个字典是否相等
在Python中,判断两个字典是否相等,不仅需要比较它们的键值对是否一一对应,而且如果字典内包含的是列表或其他嵌套结构,还需要递归地检查这些列表是否相等。这里有一个简单的函数示例,用于比较两个字典是否深度相等:
```python
def dict_equal(dict1, dict2):
# 如果两者不是字典或者长度不同,则不相等
if not isinstance(dict1, dict) or not isinstance(dict2, dict) or len(dict1) != len(dict2):
return False
# 遍历每个键值对
for key in dict1.keys():
# 如果键不同或对应的值不相等(包括嵌套的字典或列表)
if key not in dict2 or not dict_equal(dict1[key], dict2[key]):
return False
# 没有不匹配项,所以返回True
return True
# 示例:
dict1 = {'a': [1, 2], 'b': {'c': 3}}
dict2 = {'a': [1, 2], 'b': {'c': 3}}
if dict_equal(dict1, dict2):
print("两个字典相等")
else:
print("两个字典不相等")
阅读全文