有多个列表,如何定义函数,返回所含元素最多的列表(或返回长度最长的列表)。
搜遍全网,没有找到现成的,绞尽脑汁,定义了一个函数,有点暴力,不过还挺好用,分享出来。
# 定义函数,比较多个列表的长短,并返回最长的列表
def max_list(list1,list2,list3):
list_all = [list1,list2,list3]
max_num = max(len(list1),len(list2),len(list3))
for listx in list_all:
if len(listx) == max_num:
return listx
if __name__ == '__main__':
list1 = ['a','b','c','d','e']
list2 = ['a','b','c','d']
list3 = ['a','b','c']
list_aim = max_list(list1,list2,list3)
print(list_aim)
此种函数会用到哪种场景中呢?比如爬取图片资源时候,不同的网页的目标资源的正则表达式不一样,这时就要在多个正则表达式匹配出的目标网址列表中,找出最长的列表,即是目标网址的列表。