打印列表中,具有相同前缀的数据的前缀长度
有一个列表
num_list = ["abc", "ab", "abd", "acdds", "acc", "ac"]
找到其中具有相同前缀的数据,统计前缀包含的字符个数,即前缀长度
def found(num_list):
"""统计个数"""
# 开始时,假设最短数据长度为第一个数据
min_len = len(num_list[0])
for i in range(len(num_list)-1):
# 记录列表中的最短数据长度
if min_len > len(num_list[i+1]):
min_len = len(num_list[i+1])
for j in range(min_len):
# 比较相邻数据的相同前缀个数
if num_list[i][j] == num_list[i+1][j]:
continue
# 记录最短相同前缀个数
else:
if min_len > j:
min_len = j
break
return min_len
# 打印结果
print(found(num_list))
过程还可以优化一下,比如先找到最短长度的数据,再用第一个数据一次作比较,都可以,只是提供一个利用基础知识的思路