美文网首页Python基础
两个list的对应元素操作

两个list的对应元素操作

作者: Timmyk | 来源:发表于2017-10-20 00:36 被阅读7次

    a=[1,2,3] b=[4,5,6]

    现将list a与 list b按位相加,其结果为[5,7,9]

    方法一:

    c=[a[i]+b[i] for i in range(min(len(a),len(b)))]

    方法二:

    c=list(map(lambda x :x[0]+x[1] ,zip(a,b)))

    map()函数:

    map()函数接受两个参数,一个是函数,一个是序列,map将传入的函数作用到序列的每个元素,并返回一个可以列表化的map对象。(python2直接返回列表)

    zip()函数:

    zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)

    >>> a = [1,2,3]
    >>> b = [4,5,6]
    >>> c = [4,5,6,7,8]
    >>> zipped = zip(a,b)
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(a,c)
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(*zipped)
    [(1, 2, 3), (4, 5, 6)]
    

    参考网站:http://www.jb51.net/article/53051.htm

    相关文章

      网友评论

        本文标题:两个list的对应元素操作

        本文链接:https://www.haomeiwen.com/subject/tdqmuxtx.html