我有一个列表[[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