列表,元组和range

a 夏天 提交于 2019-12-02 02:02:39

列表和元组

列表

为什么要有列表

+ int bool str:
    + str
        + 储存少量的数据
        + 切片还是其他操作.获取的都是str类型.储存的数据单一.
        
其他数据类型存储数据较少,达到不了我们的需求

什么是列表

li = ["x","123",Ture,[1,2,3]] 承载任意数据类型,储存大量 的数据
python 常用的容器型数据类型.list 列表. 其他语言:Java:数组
列表是有序的,可索引切片(步长)

列表的操作

列表的创建

方式1: li = [1,x,"s"]
方式2: li =list("多个元素组成的迭代对象")
方式3: 列表推导式(函数部分)

列表索引切片步长

li = [1,3,2,"a",4,"b",5,"c"]

li[开始索引,结束索引,步长]
l1 = li[:3]             #取从开始到第三个索引前一个(顾头不顾尾)
l2 = li[3:-2]           #取第三个开始到倒数第二个的前一个
l3 = li[1:-2:2]         #从第一个开始取,向后每隔2个取一个,取到倒数第二个 
l4 = li[-3::-2]         #从倒数第三个开始取,向前每隔2个取一个,取到开始
print(l1,l2,l3,l4)

列表的增删改查

+ 增
    +append:追加.加在列表最后
    +insert 插入insert(位置,需要加入的字符)
    +extend 迭代增加: extend ("abc")  a,b,c追加进列表
+ 删
    + 按照位置(索引位置)删除:pop    有返回值(返回被删除的元素)
    + 指定元素删: remove  (如果有 重名元素,默认删除从左数第一个)
    + clear() 了解 清空
    + del 
        + 可以按照索引删 del li[-1]
        + 可以按照切片删除 del li[::2]
+ 改
    + 按照索引改值 li[0] = ""  将右边的值赋给左边
    + 按照切片改 li[2:] = ""  将右边的值迭代的赋给左边
    + 按照切片(步长)li[::2] = "abc" 必须一一对应,删一个需要加一个进去
+ 查
    + 索引
    + 切片(步长)
    + for循环

列表的嵌套

li = [1,2,"taibai",[1,"alex",3]]
li[2] = "taibai".upper()
li[-1].append("教育")
print(li)

元组

+ 只读列表,存大量数据,也可以按照索引,切片(步长).
+ 查看
    + for i in tu
        print(i)
    + tu[x]  x为索引
+ 应用
    + 重要数据,用户,密码,个人信息.(不想让别人改动的一些数据,存在元组中)
    + 元组的拆包.分别赋值(列表也行,一般不用)
        a,b =(1,2)    //多一个少一个都不行
            print(a,b)

range

+ 类似于列表,自定制数字范围的数字列表(也有索引)(顾头不顾尾)
+ (x,y,z) x也起始,y为结束,z为步长         {逗号","区分}
+ 多于for循环结合
    li = [1,2,3,4,5]
        for i in range(len(li)):
        print(i)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!