第五章 python列表与元组

>>>
    了解什么是序列
    掌握序列的基本操作    
    掌握列表及二维列表的基本操作
    掌握列表推导式的应用
    掌握元组的基本操作
    掌握元组推展式的应用
    了解元组和列表的区别    

5.1 序列概述
    序列结构主要有:列表,元组,集合,字典    

    5.1.1 索引
    
    5.1.2 切片
        [
        sname    序列的名称
        start    开始的位置
        end    结束的位置
        step    步长,默认为1
        ]
    5.1.3 序列相加
        不现序列可以相加
        但是,不能列表和元组相加,列表和字符串相加

    5.1.4 乘法
        序列 * n = n个序列
    
    5.1.5 检查某个元素是否是序列的成员(元素)
        value in sequence 
    
    5.1.6 计算序列的长度,最大值,最小值
        len(序列),max(序列),min(序列)
        list(),        将序列转换成列表
        str(0,        将序列转换为字符串
        sorted(),    对元素排序
        reversed(),    反转序列中的元素
        

5.2  列表
    列表中的所有元素放在对中括号中,“[]”,
    同一列表中,可以元素类型不同
    
    5.2.1 列表的创建和删除
        a,使用赋值运算符直接创建列表
            list_1 = [1, 'abc']
        b,创建空列表
            list_2 = []
        c,创建数值列表

    5.2.2 访问列表元素
        除了用>=0以上的数,还可以用负数,表示,倒数第几元素。

    5.2.3 遍历列表
        a,用for循环实现
            for item in listname
                #输出item
        b,用for和enumerate(listname)实现
            for index,item in enumerate(listname)
                print(index, item)
            #_index: 元素下标
            #_item:  元素

    5.2.4 添加,修改和删除列表元素
        a,添加元素
            listname.append(x);
        b,修改元素
            listname[num] = x; num 表示整数,可为负数;
        c,删除元素
            if listname.count(x) > 0:
                listname.remove(x)

    5.2.5 对列表进行统计运算
        a,获取指定元素出现的次数
            listname.count(x)
        b,获取指定元素首次出现的下标
            listname.index(x)
        c,获取指定元素出现所有坐标
            print(i for i, x in enumerate(listname) if x == 'your_itme')
        d,统计数值列表的元素和
            sum(listname,start)  start表示计算出listname序列的值再加上start这个数
    
    5.2.6 对列表进行排序
        a,使用列表对象的sort()排序
            listname.sort(key = None, reverse = flase)
            # key,表示对元素先处理再排序,如 key = str.lower,表示不区分大小写
            # reverse,反转,因为默认排序是降序排序的。
        b,使用内置的sorted()函数去实现
            sorted(listname, key = None, reverse = flase);        
            同上

    5.2.7 列表式推导式
        a,生成指定范围的数值列表
            list = [Expression for var in range]
            # Expression 表达式
            # var 循环变量
            # range 采用range函数生成的范围
            如:
            import random
            randomnumber = [random.randint(10, 100) for i in range(10)]
            print(randomnumber)
        b,根据列表生成指定需求的列表
            list = [expression for var in list]
            如:
            list = [(int)x*0.5 for x in range(0,10,2)]
            print(list)
        c,从列表中选择符合条件的元素,并组成新的列表
            list = [x for x in range(1,10) if x%2 == 0]
            print(list)
    5.2.8二维列表
        a,直接定义列表
            list = [
                [1,2,3],
                [4,5,6],
                [7,8,9]]
            print(list)
        b,使用嵌套的for循环创建
            list = []
            for i in range(4):
                list.append([])
                for j in range(3):
                        list[i].append(j)
            print(list)
        c,使用列表推导式创建
            arr = [[j for j in range(3)] for i in range(4)]
            print(list)

        
5.3  元组
    元组序列是不可变的序列,使用一对小括号()括起来的序列。    

    5.3.1 元组的创建和删除
        a,使用赋值运算符直接创建元组
            tuplename = ("a", "b", "c")
            tuplename = 'a', 'b', 'c'
            tuplename.type() # 测试变量的类型        
        b,创建空元组
            emlpyname = ()
        c,创建数值元组
            tuple(data)  data 表示可以转换成元组的数据,类型是range对象
                字符串,元组或者其他可迭代的数据
        d,删除元组
            dle tuplename
        
    5.3.2 访问元组元素    
        tupleArr = (1,2,3)
        a,print(tupleArr)    # 输出全部元素
        
        pirnt(toupleArr[1:3])    #  输出第2个到第3个


    5.3.3 修改元组
        元组不可以单个修改,但可以整体修改;
        如:tupleArr = (1,2,3); tupleArr = (4,5,6)
        
        元组连接时,只有是元组和元组,如下,不要忘记了逗号表元组
        print(tupleArr + (3,) )

    5.3.4 元组推导式
        同列表一样的操作,不过是小括号括起来的
        如下代码:
        import random
        randomNumber = (random.randint(10,100) for i in range(10)) 
        #_生成的是生成器对象
        printrandomNumber 
        randomNumber = tuple(randomNumber)
        print(randomNumber)
    
        /**/
        通过元组生成的生成是可以使用for循环,和_next_()方法。(那么列表呢)
        number = (i for i in range(3) )
        for i in range(3):
            print(number.__next__())
            
    5.3.5 元组与列表的区别
        a,    列表是可变序列,可修改和删除,
            元组是不可变序列,不可修改, 只整体替换

        b,    列表可以使用append(),extend(),insert(),remove(),pop()
            元组没有

        c,    列表可以使用切片,修改,访问,
            元组只能访问

        d,    元组比列表的处理速度快,
            
        e,    列表不能作为字典的键
    

        


 

发布了76 篇原创文章 · 获赞 0 · 访问量 7171

猜你喜欢

转载自blog.csdn.net/julicliy/article/details/104088244