如果一个字典的key是由整数组成的找出这个字典中key按整数大小排序连续缺失的最小3个key值并且这3个key对应的整数是挨着的例如123用Python编程
示例代码如下:
def find_missing_keys(dict_obj):
sorted_keys = sorted(dict_obj.keys())
missing_keys = []
for i in range(len(sorted_keys) - 1):
if sorted_keys[i+1] - sorted_keys[i] > 1:
missing_keys.append((sorted_keys[i]+1, sorted_keys[i+1]-1))
if len(missing_keys) >= 3:
for i in range(len(missing_keys) - 2):
if missing_keys[i][1] == missing_keys[i+1][0] - 1 and missing_keys[i+1][1] == missing_keys[i+2][0] - 1:
return [missing_keys[i][1]+1, missing_keys[i+1][0]-1, missing_keys[i+2][0]-1]
return None
这个函数接受一个字典作为参数,返回连续缺失的最小3个key值对应的整数,如果不存在这样的连续缺失,则返回None。
函数的实现思路是首先对字典的key进行排序,然后找出其中连续缺失的区间。如果缺失的区间大于等于3个,则遍历这些区间,找出符合要求的连续缺失的最小3个key值对应的整数
原文地址: https://www.cveoy.top/t/topic/fUPW 著作权归作者所有。请勿转载和采集!