zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    C语言文法
    实验一
    词法分析
    py中文词频统计
    py字符串练习
    py画了个国旗
    熟悉常用的Linux操作
    大数据概述
    实验三、 递归下降分析程序实验
    简易c语言LL(1)文法
  • 原文地址:https://www.cnblogs.com/Andy963/p/7044732.html
Copyright © 2011-2022 走看看