查找包含另一个列表中某个字符的最长列表的长度



我有一个列表[[1],[2,3],[a, b, c], [1, a, b, 3]]我需要找到包含字符a的最长列表。我有代码来查找最长列表的长度,但无法实现对a字符的搜索:

def find_max_list(list):
list_len = [len(i) for i in list]
print(max(list_len))
find_max_list(your_list)

试试这个:

def find_max_list(lst):
lst_len = max(('a' in x, len(x)) for x in lst)
print(lst_len)

这段代码创建了一个元组列表,其中第一个元素为True或False(取决于列表中是否存在"a"(,第二个元素仅为列表的长度。然后计算最大值,记住False < True,并且首先计算第一个元素。

另一种方法是过滤掉那些不包含"a"的列表:

def find_max_list(lst):
lst_len = max(len(x) for x in lst if 'a' in x)
print(lst_len)

试试这个:

import collections
def find_max_list(a_list):
most_common = []
for i in a_list:
a_counter = collections.Counter(i)
most_common.append(a_counter.most_common()) 
maxfinal = [a[:1] for a in most_common]

return maxfinal

最新更新