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)找到最长的一条线

如何组合绑定片段而不将它们包装在 XML 文字中

学习笔记:python3,代码片段(2017)

scrapy主动退出爬虫的代码片段(python3)

片段组合在 Relay 中是如何工作的?

在一个无序整数数组中,找出连续增长片段最长的一段, 增长步长是1。Example: [3,2,4,5,6,1,9], 最长的是[4,5,6]