Python统计列表中的子字符串个数可以通过遍历列表中的每个字符串,然后使用count()方法统计子字符串在当前字符串中出现的次数,最后累加得到总的子字符串个数。
以下是示例代码:
def count_substring(substring, string_list):
count = 0
for string in string_list:
count += string.count(substring)
return count
# 测试代码
my_list = ["abc", "defabc", "abcdef", "xyz"]
sub_count = count_substring("abc", my_list)
print(sub_count) # 输出:3
上述代码中,count_substring()函数接受两个参数,即要统计的子字符串和字符串列表。在循环遍历列表时,使用count()方法统计子字符串在当前字符串中出现的次数,并将次数累加到count变量中。最后返回count作为子字符串的总个数。
对于不重复的其他字符串列表中的子字符串的个数,可以稍作修改,引入一个集合(set)来存储出现过的子字符串,遍历列表中的每个字符串,将其中的子字符串添加到集合中,最后返回集合的长度即可。
以下是示例代码:
def count_unique_substrings(string_list):
substrings = set()
for string in string_list:
for i in range(len(string)):
for j in range(i+1, len(string)+1):
substrings.add(string[i:j])
return len(substrings)
# 测试代码
my_list = ["abc", "defabc", "abcdef", "xyz"]
unique_sub_count = count_unique_substrings(my_list)
print(unique_sub_count) # 输出:16
上述代码中,count_unique_substrings()函数接受一个字符串列表作为参数。在循环遍历列表时,使用两层循环遍历每个字符串的所有可能子字符串,并将它们添加到集合substrings中。最后返回集合substrings的长度,即不重复的子字符串个数。
需要注意的是,上述代码实现的是一个简单的统计功能,对于大规模的数据集可能效率较低。在实际应用中,可以考虑使用更高效的算法和数据结构来优化。
领取专属 10元无门槛券
手把手带您无忧上云