zoukankan      html  css  js  c++  java
  • 列表的相加

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

    求a和b对应元素的相加

    1 a = [1,2,3]
    2 b = [4,5,6]
    3 for i in range(0,3):
    4     print(a[i]+b[i])

    但只用for遍历,只是实现了对应元素的相加,但结果不是列表形式:

    所以需要改进:

    1 #方法一
    2 a = [1,2,3]
    3 b = [4,5,6]
    4 ls = []
    5 for i in range(0,3):
    6     ls.append(a[i]+b[i])
    7 print(ls)

     列表生成式

    #方法二
    a = [1,2,3]
    b = [4,5,6]
    ls = [i+j for (i,j) in zip(a,b)]    #for前面是空格,不能用逗号
    print(ls)

     补充:

    (1)zip()的用法:

    zip(a,b)是将a

    不能 a+b(这只是将两个列表进行拼接)

    也不能:

    1 a = [1,2,3]
    2 b = [4,5,6]
    3 for i in a:
    4     for j in b:
    5     print(i+j)

    因为二层循环,每遍历完内层for循环后,才跳出来进行一次外层的for循环。如 i = 1时,则 j = 4,5,6,而不是只等于4;i = 2时,则 j = 4,5,6,而不是只等于5

  • 相关阅读:
    实现可折叠的列表
    ajax知识点补充
    Ajax 完整教程
    从页面左边飞入页面动画效果
    文字闪烁
    点击按钮之后等待60秒
    [SCOI2016]萌萌哒
    [HNOI2011]卡农
    [NOI2015]寿司晚宴
    【bzoj 3489】A simple rmq problem
  • 原文地址:https://www.cnblogs.com/kenny-feng/p/11367939.html
Copyright © 2011-2022 走看看