zoukankan      html  css  js  c++  java
  • python数据类型-列表

    本节主要内容:
    1. 列表
    2. 列表的增删改查
    3. 列表的嵌套
    4. 元组和元组嵌套
    5. range

    1.列表

    列表说明:列表是Python的基础数据类型之一,其他编程语言也有类似的数据类型,比如js的数组.java的数组等等.它是以[]括起来,每个元素用','隔开而且可以存放各种数据类型:

    列表相较于字符串,不仅不可以存放不同的数据类型,而且可以存放大量的数据,32位Python可以存放536870912个元素,64位可以存放: 1152921504606846975个元素.而且列表是有序的(按照您保存的顺序),有索引,可以切片方便取值.

    1.1 列表的索引和切片

    这里和字符串一样,可以通过索引取值和切片取值. 注意列表的切片后还是列表.

    如下示例:

    lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙"]
    print(lst[0])  #按照索引取值
    print(lst[0:2])  #用切片取值,并且敢是顾头不顾尾
    print(lst[1:5:2]) #可以设置步长来跳着取
    print(lst[4:1:-1])  #也可以反着取

    1.2 列表的增

    列表和字符不同的一点是列表可以进行增删除改查操作.

    列表的增有三种,  append,insert,extend

    示例如下:

    #列表的增.包话append.insert,expend
    lst.append("王小明")  # append是在列表的后面增加
    print(lst)
    lst.insert(1,"邓超") #指定索引增加列表,之前位置的值向后偏移.
    print(lst)
    lst.extend("曾小贤") #会把迭代对像循环后获取元素放入列表.并且是放在后面
    print(lst)

    这里注意的是如何把字符串转化为列表,有两种方法

    一种是字符串的split方法和列表的extend方法.两种方法,还是extend比较好.

    1.3列表的删除

    列表的删除有四个方法,分别是pop,remove,clear,del

    示例如下:

    注意pop平是是这样调用的,pop()如果传入索引的话,也可以删除指定索引的内容

    并且如果p = lst.pop()那么p会收到pop()的删除内容.也是四个删除方法里面唯一返回删除内容的方法

    #列表的删除,删除有四个  pop,remove ,clear,del
    lst.pop()  #pop可以删除最后一个,如果指定索引的话,可以删除指定索引的内容.
    print(lst)   
    lst.pop(2)
    print(lst)
    remove  是指定内容删除,但是只删除第一个内容,后面的不删除.同时如果删除的内容不存在,会报错
    lst.remove("刘德华")
    print(lst)
    # lst.remove("哈哈")   #remove是指定内容,然后删除会报错.

    clear 是清空列表,并且返回空列表

    #clear 是清空列表,并且返回空列表
    lst.clear()
    print(lst)

    del是切片删除,并且返回也是列且

    示例:

    del lst[1:3]
    print(lst)

    1.3 列表的改

    list 改,就是通过索引赋值,以及切片赋值的方法.

    这里要注意的是切片赋值

    切片赋值的话,会把赋值内容给迭代了.这里要注意一下.

    另外切片赋值如果步长不为1的话,那么切片的元素长要和迭代内容的元素个数一致.

    示例如下:

    lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"]
    
    lst[0] = "刘聪"   #单个赋值改的话,直接赋值即可.支持字符串,和列表赋值
    print(lst)
    lst[1] = ["王外一"]
    print(lst)
    #切片赋值
    #lst[0:3] = "宋佳ddddd"  #注意这里,如果切片改的话,那么会把字符迭代了.
    print(lst)
    lst[0:5:2] = "宋佳1"  #这里要注意,比果切片的步长不是1,切片的元素和赋值的元素必须一致,否则会报错.-1也会报错
    print(lst)
    lst[-1:-5:-1] = "宋佳1"

    1.4 列表的查询

    列表的查询用for循环来查询.

    示例:

    #列表的查询
    for w in lst:
        print(w)

    1.5 列表的其他操作

    主要有sort(),len(),count(),和reverse()

    sort()排序,升序,从小到大,  这里要注意是对数字的排序,如果是字母的话,按字母表来排序.如果是中文的话,不能排序.如果是字序型数字,按个位数排序

    关于字符型数字的排序示例如下:

    #列表的查询
    # for w in lst:
    #     print(w)
    s = "dafgadgfaggagaeqqq"
    lst= ["20","3","3","501","111","6"]
    # lst.clear()
    # lst.extend(s)
    lst.sort()
    print(lst)

    升序是通过下面的方法实现

    lst.sort(reverse = True)
    即sort方法中增加reverse的选项


    count()
    统计列表中元素出现的次数
    示例:
    lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"]
    a = lst.count("刘德华")
    print(a)

    reverse()

    列表进行翻转

    示例如下:

    lst = ["周星星","周润发","周杰伦","周星驰","刘德华","成龙","刘德华"]
    # a = lst.count("刘德华")
    # print(a)
    lst.reverse()
    print(lst)

    len()

    获取列表的长度

    示例代码如下:

    l = len(lst)
    print(l)

    2.列表的嵌套

    列表的嵌套: 列表放列表就是嵌套,采用降维操作.一层一层的看就好.

    示例:

    li = [1, 5, True, "哈哈", ["张无忌", "wusir", "周芷若", "赵敏"], ["金庸", "琼瑶", "古龙", "孙晓"]]
    
    #将wusir拿到. 然后首字母大写. 再扔回去
    li[4][1] = li[4][1].capitalize()
    print(li)

    3.元组和元组的嵌套

    元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型
    的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.不能删除.

    元组主要有两点需要注意的:

    (1). 元组定义的时候,如果只有一个元素,要加一个逗号

    比如 tu = (1)这样是不行的,必须这样tu= (1,)

    比如tu = ("lkjlkj") 这样也是不行的,必须这样tu = ("lkjlkj",)

    (2).另一个需要注意的是元组是不可以修改的.但是元组的元素如果是可变的,那么这个元组的元素是可以修改的.注意,但不能替换.

    这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对
    象.

    示例:

    tu = ("小说", "文集", "历史", ["麻花藤", "张三丰", "李嘉诚"], (1, 3))
    #tu[1] = "我改" #这里会报错
    tu[3].append("马云")
    print(tu)  #这样是可以的
    #可以改,但不能替换,比如下面这样会报错
    tu[3] = ["我改"]

    4.range

    range可以帮我们获取一组数据,相当于是对整型数据的切片取值.

    range(start, end,步长) # 切片

    示例:

    #取1到100的偶数
    for w in range(0,100,2):
        print(w)

    还有种默认用法

    range(10)

    是取0到9

    示例:

    for w in range(10):
        print(w)

     

  • 相关阅读:
    python opencv PyQt5
    各大web服务器https的证书文件
    mysql 常用字符串操作
    python 修改字符串中的某一位字符
    python mysql
    小程序
    m4a 转MP3
    安装python 3.7
    树莓派版本信息
    bash 重启后台程序脚本
  • 原文地址:https://www.cnblogs.com/ahliucong/p/9134226.html
Copyright © 2011-2022 走看看