python 列表的操作

'''

                               python列表操作

列表的特点:(1)列表元素按顺序有序排序,(2)索引映射唯一一个数据,(3)列表可以存储重复数据,(4)任意数据混存,(5)根据需要动态分配和回收内存,即不论列表中多少个元素

一.列表的创建

1.创建方式:(1)使用中括号[],(2)调用内置函数list()。各个元素之间使用英文逗号分隔。
eg:
    (1)lst = ["sheng","shu","hao",98]
    (2) lst = list(["sheng","shu","hao",98])


二.列表元素的查询操作

1.获取列表中元素的索引
    方法1: 列表名.index(元素名)
        (1)当有相同元素的时候,只会获取到相同元素第一个元素的索引。
    方法2: 列表名.index(元素名,start,stop)
        (2)可以在一段索引范围内查询这个元素,注意:这段范围不会包括stop结束值。
            eg:   print(lst.index("shu",1,3))  不包括 3 这个结束范围。


2.获取指定索引的元素
    方法1.正向索引指定(0 —— 元素个数-1):   列表名[索引]
    方法2.逆向索引指定(-1 —— -元素个数):   列表名[-索引]


3.获取列表中的多个元素(切片:切出来的是一个新的列表对象)
   语法格式:列表名[start : stop : step]  注意:和range函数一样是左闭右开区间,即stop取不到
        可以省略stop: 列表名[start::step]
        可以省略start:  列表名[:stop:step]               不包括stop,左闭右开
        可以省略step:  列表名[start:stop:] 或者  列表名[start:stop]   省略step即默认步长1
        可以省略start和stop:  列表名[::step]

    当step步长为负数的时候:  列表名[start:stop:-step]   会倒序

4.查看一个元素是否在列表中存在
    (1)in: 元素 in 列表名
            判断是否存在与这个列表,返回结果为ture或者false
    (2)not  in:   元素  not in  列表名
            判断是否不存在于这个列表,返回结果为ture或者false
5.列表遍历
    语法格式: for  迭代变量   in   列表名
                   操作


二.列表元素的增加操作

1.在末尾添加一个元素 ( append()只能添加一个元素 ),
    语法格式:  列表名.append(元素)
        eg:   a = [1,2,3,4,5,6,7,8,9]
              a.append(10)
              print(a)
           
    append(列表名)还可以将一个列表作为一个元素添加到另一个列表当中
        eg:   a = [1,2,3,4,5,6,7,8,9]
              b = [10,11,12]
              a.append(b)
              print(a)
        输出为:  [1, 2, 3, 4, 5, 6, 7, 8, 9, [10, 11, 12]]

2.在末尾添加一个或者多个元素元素   (要用列表的方式来添加,和append(列表名)不同)
    语法格式: 列表名.extend(列表名)
        eg:  a = [1,2,3,4,5,6,7,8,9]
             b = [10,11,12]
             a.extend(b)
             print(a)
        输出为:  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

3.在指定位置上插入一个元素(只能是一个)
    语法格式: 列表名.insert(索引,元素)
        eg:  a = [1,2,3,4,5,6,7,8,9]
             a.insert(5,10)
             print(a)
        输出为 :  [1, 2, 3, 4, 5, 10, 6, 7, 8, 9]


4.通过切片在任意位置上添加至少一个或多个元素
    语法格式: 列表名[start:stop:step] = 列表名
        eg:  a = [1,2,3,4,5,6,7,8,9]
             b = [10,11,12,13,14]
             a[1:5:1] = b    #  将切掉的这部分“不要”,然后再切掉的这段范围添加上要加入的元素
             print(a)
        输出为: [1, 10, 11, 12, 13, 14, 6, 7, 8, 9]

三.列表元素的删除操作

1.从列表中只移除一个元素
    语法格式: 列表名.remove(元素)    #当是重复元素的时候,只移除重复的第一个元素
        eg: a = [1,2,3,4,5,6,7,8,9,6]
            a.remove(6)
            print(a)
        输出为: [1, 2, 3, 4, 5, 7, 8, 9, 6]

2.删除指定索引位置的元素
    语法格式: 列表名.pop(索引)    # 如果不指定索引,那么将删除列表中的最后一个元素
        eg:  a = [1,2,3,4,5,6,7,8,9]
             a.pop(3)
             print(a)
             a.pop()         #未指定索引
             print(a)
        输出为 : [1, 2, 3, 5, 6, 7, 8, 9]
                [1, 2, 3, 5, 6, 7, 8]

3.通过切片 可以删除一个或多个元素
    语法格式: 列表名[start:stop:step] = []       #将切掉的这部分用空列表替换,从而实现删除操作,注意其中的step只能是默认为1否则报错
        eg:  a = [1,2,3,4,5,6,7,8,9]
             a[2:7:] = []
             print(a)
        输出为: [1, 2, 8, 9]

4.清除列表中的元素
    语法格式:  列表名.clear()
        eg: a = [1,2,3,4,5,6,7,8,9]
            a.clear()
            print(a)
        输出为: []

5.删除列表
    语法格式: del 列表名
        eg: a = [1,2,3,4,5,6,7,8,9]
            del a
            print(a)
        输出为: NameError: name 'a' is not defined  因为已删除所以会报错

四.列表元素的改操作

1.指定索引位置修改为某个元素
    语法格式:  列表名[索引] = 元素
        eg:  a = [1,2,3,4,5,6,7,8,9]
             a[3] = 10
             print(a)
        输出为: [1, 2, 3, 10, 5, 6, 7, 8, 9]

2.用切片的方法修改元素操作
    语法格式: 列表名[start:stop:step] = [元素1,元素2,元素3,......元素n]    #注意其中步长只能是默认的1否则报错
        eg:  a = [1,2,3,4,5,6,7,8,9]
             a[1:7:1] = [10,11,12,13,14,15]
             print(a)
        输出为: [1, 10, 11, 12, 13, 14, 15, 8, 9]

五.列表元素的排序操作

1.通过调用方法sort()进行排序(不会产生新的列表对象,而是在原列表上进行升序/降序),并且默认为升序,可以指定关键字参数reverse=True,进行降序排序
    升序语法格式: 列表名.sort()   或者    列表名.sort(reverse=False)
        eg:  a = [1,6,3,7,3,34,2,2,24,6]
             a.sort()     #  或者是  a.sort(reverse=False)
             print(a)
        输出为: [1, 2, 2, 3, 3, 6, 6, 7, 24, 34]

    降序语法格式: 列表名.sort(reverse=ture)
        eg:  a = [1,6,3,7,3,34,2,2,24,6]
             a.sort(reverse=True)     #注意True只能是大写T开头,否则会报错
             print(a)
        输出:  [34, 24, 7, 6, 6, 3, 3, 2, 2, 1]

2.通过调用函数sorted()进行排序(会产生一个新的列表对象,而不是向sort()方法在原列表上进行)
    升序语法格式:新的列表名 = sorted(原列表名)    或者   新的列表名 = sort(原列表名,reverse=False)
        eg:  a = [1,6,3,7,3,34,2,2,24,6]
             new_a = sorted(a)            或者  new_a = sorted(a,reverse=Flase)
             print(a)
             print(new_a)
        输出为: [1, 6, 3, 7, 3, 34, 2, 2, 24, 6]
              [1, 2, 2, 3, 3, 6, 6, 7, 24, 34]

    降序语法格式: 新的列表名 = sorted(原列表名,reverse=True)
        eg:   a = [1,6,3,7,3,34,2,2,24,6]
              new_a = sorted(a,reverse=True)
              print(a)
              print(new_a)
        输出为: [1, 6, 3, 7, 3, 34, 2, 2, 24, 6]
               [34, 24, 7, 6, 6, 3, 3, 2, 2, 1]

六.列表生成式
理解
a = [i for i in range(1,11) if i%2 == 0 ]
print(a)
输出: [2, 4, 6, 8, 10]
'''

你可能感兴趣的:(python,python,list)