• python学习笔记——初识列表


    Python学习——列表

    ……

    列表和数组有点像,但并不一样。

    ……

    一;列表的初始化

    a=[] #创建一个空列表

    b=[‘ab’,12,34,’w2s1’] #创建一个包含字符串和数字的列表

    在c语言中,数组创建时需要事先确定数组中有多少个元素,但是列表不用。

    c语言的数组中只能是同一种类型(要么是数字,要么是字符),但是列表可以数字和字符串混搭。

    b[0]指的是’ab’这个字符串,b[1]指的是12这个数字,这个倒是和数组一样。

    ……

    ……

    二;列表的运算

    1;改变列表中元素的值

    b[0]=12 #改变列表中元素的值

    这时b=[12,12,34,’w2s1’]

    2;列表的加法

    如果有两个列表x=[1,2,3],y=[4,5,6]

    直接相加z=x+y。

    z=[1,2,3,4,5,6]

    3;列表的乘法

    比如x=[1,2,3]

    x=x*3

    那么x=[1,2,3,1,2,3,1,2,3]

    乘法和加法的原理是类似的。

    ……

    ……

    三;列表在for循环中的运用

    基本的格式为:for i in 列表

    比如这样一个程序:

    for i in [1,2,3,4]:

            print(i)

    首先i=1,循环一次后,i=2,再循环一次后,i=3,以此类推,直到i=4进行一次循环后便退出了循环。

    ……

    ……

    四;range()函数

    range()函数可以用来计数。

    基本的格式为:range(start,top,step)

    比如上面那个程序,其实就可以写成这样:

    for i in range(1,5,1):

            print(i)

    也就是从1开始,然后小于5为止。(不等于5)

    start:计数从start开始,默认是从0开始,例如range(5)等价于range(0,5)

    top:计数到top结束,但不包括top。

    step:步长,默认为1。例如:range(0,5)等价于(0,5,1)

    ……

    ……

    五;列表和range()函数

    可以使用range()函数,来填充列表。

    比如:

    a=list(range(10))

    print(a)

    会打印出这样的结果:

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    用range()函数来填充列表,可以让列表的填充更加方便和多样。

    ……

    ……

    六;sum()函数

    可以使用sum()函数,来计算列表中所有数字的和。(当然,列表中不能出现字符串元素,否则就会报错)

    比如:

    a=list(range(101))

    print(sum(a))

    会输出0+1+2+……100的值:

    5050

    原本需要用循环才能做到的事情,只需要一个sum()函数就可以做到了。

    (不得不说,python的库和函数是真的很多,比c语言丰富多了,也很难记住,一般都是用到的时候再去百度)

    ……

    ……

    七;列表推导式

    如果要计算6+66+666……的和,在c语言中会稍显复杂。

    相对而言,python要更加简便一些。

    比如这样:

    n=int(input())

    sum=0

    for i in range(1,n+1):

            a=int('6'*i)

            sum=sum+a

    print(sum)

    如果输入的n=2,那么会输出:

    72

    实际上也就是输出6+66的值。

    如果换成是列表推导式的话,可以一步到位:

    n=int(input())

    print(sum([int('6'*i) for i in range(1,n+1)]))

    两条语句就能解决了。

    只不过……

    这样写出来的代码确实有点难读……感觉还是用传统的方法好一点,少用一点列表推导式吧。

  • 相关阅读:
    maven编译jar包时打一个瘦包,依赖包和配置文件到jar包外面
    数据结构--双链表
    前端Vue怎么获取登录的用户名或用户id
    内网穿透到公网,让你的小伙伴访问你本地的项目
    【TypeScript】类型兼容:如何判断一个类型是否可以赋值给其他类型?
    初识面向对象(类和对象)
    Jvm参数
    记一次关于联想小新连接不上无线网或者搜索不到无线网的问题解决
    【数据结构】栈与队列
    YOLOv5添加注意力机制
  • 原文地址:https://blog.csdn.net/oyqho/article/details/127719226