python3 如何得到最长组合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 如何得到最长组合相关的知识,希望对你有一定的参考价值。
通常情况下如果想将两个列表组全到一起输出,可以使用zip函数,最后会以元组的形式得到结果:
#!/usr/bin/env python #coding:utf-8 # Created by Andy @ 2017/6/18 list1 = {1, 3, 5, 7, 9} list2 = {2, 3, 4,5, 6, 7, 8, 9, 10} for i in zip(list1, list2): print(i) # (9, 2) (3, 3) (5, 4) (1, 5) (7, 6)
可是这样缺陷也很明显,因为zip会截取最短的那个列表,但是有些特殊情况下会需要最长列表,那要怎么做呢?
from itertools import zip_longest for j in zip_longest(list1, list2): print(j) # (9, 2) (3, 3) (5, 4) (1, 5) (7, 6) (None, 7) (None, 8) (None, 9) (None, 10)
那些只有一个列表中有的值会被None填充,但是,我们其实也是可以指定填充的值的,或者指定一个
关键字参数fillvalue
for m in zip_longest(list1, list2, fillvalue=11): print(m)
指定以11这个值来填充后面只在list2中存在的值:
结果如下:
(9, 2) (3, 3) (5, 4) (1, 5) (7, 6) (11, 7) (11, 8) (11, 9) (11, 10)
以上是关于python3 如何得到最长组合的主要内容,如果未能解决你的问题,请参考以下文章
pyhton—opencv直线检测(HoughLines)找到最长的一条线
在一个无序整数数组中,找出连续增长片段最长的一段, 增长步长是1。Example: [3,2,4,5,6,1,9], 最长的是[4,5,6]