• Python列表与元组


    一.列表

    1.列表的介绍:

    列表lst = [    ] 是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类型,比如以下示例:

    2.索引和切片-------和字符串的索引切片类似.

      注意:列表是可以发生改变的,这点和字符串不一样,字符串不能通过索引去改变值。

    3.切片

    lst[0:3]   #截取从0-3的元素,但是去不到第3个

    lst[ :3]    #从头到第3个元素

    lst[1: : 2]  #从第一个开始取到最后一个,步长为2

    lst[2: : -1]# 从第二个元素开始取,步长-1,从右向左倒着取.

    列表也可以切片,同字符串的切片规则一样,切出来的内容是列表类型,具体如下示例:

     

    (1)列表的增:

    append():变量.append()在原有的基础上进行操作,增加到最后

    extend() :变量.extend([xx,yy])迭代的增加    (数字和bool不可迭代添加  )

    insert():  变量.insert(1,xx)在1的位置插入XX.原来的元素后移动一位

      ①lst.append("A")   #列表结尾加上"A"

      ②lst.insert(1,"刘德华")     #在列表的第一个位置添加"刘德华"

      ③lst.extend(["A","B"])      #迭代添加,将列表里的"A"和"B"分别添加到列表最后.

    注意:数字和bool值是不可以用extend添加的,因为他们不是可迭代对象。

    (2)列表的删

    pop() :   变量.pop(索引)删除指定元素.如果不给索引默认删除最后一个元素

    remove():  变量.remove(元素)删除的元素不存在,会报错

    clear():  变量.clear()清空列表

    del(): del 变量[起始:结尾]  切片删除

     ①lst.pop()     #默认删除最后一个元素

                lst.pop(2)   #删除指定位置的元素

    例如:   el  =  lst.pop(2)    #有返回值,el为删除的那个元素.

               print(el)   # 原来列表第2位的元素

          print(lst)  #输出删除2号位之后的列表

      ②lst.remove("麻花藤")    #删除指定的元素, 如果元素存在,执行删除.     如果元素不存在,程序则会报错!!

      ③lst.clear()        #将整个列表清空,最终列表成为一个空列表.

      ④del lst[1:3]       #将原列表中1-3的元素去掉

     

    注意:pop没有参数默认删除最后一个元素。

    (3)列表的改(通过索引修改)

    变量[索引]=xxx    把X修改成XX

    变量[起始:结尾:步长]   切片修改,如果步长不是1,要注意元素的个数,如果没有步长或步长是1,不用关元素的个数

     

     列表通过切片修改可理解为先删除再迭代添加。

           注意:当切片修改时,若步长不是1,则要注意元素个数是否匹配,不匹配会报错。

    (4)列表的查

    for 元素 in 变量:   列表是可迭代的对象,所以可以进行for循环

    变量[索引]    可以朝着具体某个元素

       for el in lst:

             print(el)

    (5)列表的其他操作

    count():  变量.count(xx)统计XX元素在列表中出现的次数

    sort():    变量.sort()对列表进行排序,默认升序.  reverse=True 降序

    reverse() :  变量.reverse()将列表中的元素反向存放

    index(): 变量.index(元素) 从列表中找出某个值第一个匹配项的索引位置

    len()   len(变量)求列表的长度

     

    @列表的嵌套

           采用降维操作,一层一层的看就好。示例如下:

    二.元祖

      元组:俗称不可变的列表,又被称为只读列表,元组也是python的基本数据类型之一,用小括号()括起来,里面可以放任何数据类型的数据,可以查询,也可以循环,也可以切片,但就是不能改。具体示例如下代码:

           tu = ("土豆丝","拍黄瓜","鱼香肉丝","红烧肉","小炒肉")

           print(tu[0])  #返回索引为0的元素

           print(tu[1])

      print(tu[2:5])  #切片之后还是元组类型

           尝试修改元组则会报错,如下代码:

           tu[1] = "锅包肉"    #报错TypeError: 'tuple' object does not support item assignment

           关于不可变,注意:这里元组不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象。如下代码示例:

     元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组。如:tu = (1,)

           空元组用 tu = tuple()表示。

           元组也是可迭代对象,所以也可以用for循环遍历元组,代码如下:

           for el in tu:

             print(el)

           元组也有count(),index(),len()等方法。

    五、range

           range可以帮我们获取到一组数据,通过for循环能够获取到这些数据。具体示例如下:

  • 相关阅读:
    TMainMenu 类 手动建立菜单 : 指定快捷键《转》
    确定多重选择列表控件 (List Control) 中的选定内容
    【320K】大峡谷The Music of The Grand Canyon
    35种音乐的分类
    ASP中常用的变量命名规则
    关于DBF文件导入问题
    ASP.NET里的变量命名规则
    ASP中数据库安全问题之我见
    用err.raise自定义错误信息
    关于编程风格的讨论 PioneerMan(原作)
  • 原文地址:https://www.cnblogs.com/wxj1129549016/p/9397988.html
Copyright © 2020-2023  润新知