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)
    
  • 相关阅读:
    剑指offer思路总结
    redis为什么设计成单线程
    vscode 常用工具
    redis 数据结构的实现
    记一次rm -rf 的悲伤故事
    netstate端口连接状态
    查询mysql最后更新时间
    boost库安装
    docker镜像不支持常用命令
    消息队列--线程安全
  • 原文地址:https://www.cnblogs.com/Andy963/p/7044732.html
Copyright © 2011-2022 走看看