美文网首页
Python学习总结【连载】(五)

Python学习总结【连载】(五)

作者: Juttachen_8e9d | 来源:发表于2018-06-19 19:38 被阅读30次

    Python学习总结【连载】(五)

    2018.06.19 Juttachen


    概述

    + 18 list 的概述

    • 概念与特点

    + 19 list 元素的加改删查

    + 20 关于list的运算符和函数


    十八、list 的概述

    1. 概念与特点

    补充:python中的数据类型:数字(不可变),字符串(不可变),列表,元组(不可变),字典,集合(不可变)
    后四种又称序列类型或者容器类型数据,他们的特点就是可以存储很多数据。

    列表:一个列表中可以存储多个不同类型的数据(在别的语言中又可以叫数组)
    列表存储数据的方式:将多个数据放到一个中括号中,多个数据直接用逗号隔开。
    列表特点:列表是可变的(指的是里面元素的个数和值可变)
    列表是有序的(所有可以通过下标去获取元素,【字符串也是有序的】)

    例子:声明一个列表 list1: 有5个元素,标志是中括号。

        list1 =[1, 2, 3, 10.9, 'bcd']
        print(list1)
    

    例子:声明一个空的列表

        list2 = []
    

    十九、list 元素的加改删查

    1.list 增加元素

        list1 = []
    

    a. append方法:

    格式:列表名.append(元素)
    特点:append添加元素是将元素添加到列表的后面的

        list1.append('abc')
        print(list1)
    
        list1.append(10)
        print(list1)
    

    练习:找出列表[1,34,5,6,89,3,2,4]中所有的偶数,并储存

        list2 = [1,34,5,6,89,3,2,4]
        list1 = []
        for item in list2:
            if item % 2 == 0:
                list1.append(item)
        print(list1)
    

    b. insert方法:

    格式:列表名.insert(index(下标),元素)
    特点:1.在指定的下标前插入指定的元素
    2.在insert中下标是可以大于列表长度的(可以越界)。

    • 当大于列表长度时,插入的数放在最后

    • 在列表最前面插入数时,可以将下标写成0

        list3 = [1, 2, 3, 4, 5, 6, 7, 8]
        list3.insert(1,'a')
        print(list3)
      

    练习:通过insert在list3 的4和5之间插入元素’b‘,再在8的后面插入元素’c‘

        list3.insert(5,'b')
        list3.insert(10,'c')
        print(list3)
    

    2.list 修改元素

    修改元素:通过下标拿到对应的元素,然后重新赋值(一定注意只有操作下标才能修改)

        list1 = [1, 2, 3, 4, 5]
        list1[1] = 20 # 将下标是1的元素变成20
        print(list1)
    

    3.list 删除元素

    a. del语句

    补充:del语句在python中,可以删除任何内容。
    del语句删除列表元素的语法:del 列表名[下标],删除的时候下标也是不能越界的
    例子:删除下标为1的元素

        list1 = ['a',10,True]
        print(list1)
        del list1[1]
        print (list1)
    

    b. remove方法

    格式:列表名.remove(元素)
    特点:

    • 可以删除指定元素

    • 直接与元素相关,和下标没有关系

    • 使用remove删除列表元素的时候,如果指定的元素在列表中有多个,只删除第一个

        list4 = ['a','b','c',1,2,3]
        list4.remove('c')
        print(list4)
      

    c.pop方法

    可以取出指定下标的元素,对列表来说则是被删除。
    格式:列表名.pop(下标):准确的说是从列表中取出指定下标的元素。(元素本身存在,但是被取出了,对于列表来说就是不存在了)
    格式:列表名.pop():从列表中取出最后一个元素。

        list6=[1,3,4,2,3,4,1]
        delitem = list6.pop(1) #将下标是1的元素从列表中取出
        print(delitem,list6)
    
        del_item2 = list6.pop()
        print(del_item2,list6)
    

    例子:讲一个列表[1,2,3,4,5,6]中的元素全部取出放到另一个列表里变成[6,5,4,3,2,1]

        list1 = [1,2,3,4,5,6]
        list2 = []
        while len(list1)>0:
            # 从前往后取
            value = list1.pop(0)
            list2.insert(0,value)
            # 从后往前取
            value = list1.pop()
            list2.append(value)
            print(value)
        print(list1)
        print(list2)
    

    4.获取列表元素(拿数据)

    a.获取单个元素

    字符串的切片问题和列表也是一样的,都是一种方式。

        list1 =[1, 2, 3, 10.9, 'bcd']
        print(list1[0])
        print(list1[3])
        print(list1[-1])
        # print(list[5]) 越界错误     IndexError:list indeo out of range
    

    b.获取子串

    还是与字符串相似。

        list3 = [2,10.5,'a','abc',10]
        print(list3[1:4])  # 左闭右开,获取到的是从开始下标到结束下标前一个的所有元素
        print(list3[0:4:2]) # 从下标为0开始到下标为3,每两个元素取一个
        print(list3[::2])
    

    c. 遍历列表

    遍历列表即把列表中的元素一个一个的拿出来。
    通过for循环将元素全部打印一次

        list4 = [1,34,6,2,8,91,4]
    
        for item in list4:
            if item % 2 == 0:
                print(item,end=' ')
    

    计算列表中所有元素的和

        print()
        sum1 = 0
        for item in list4:
            sum1 += item
        print(sum1)
    

    使用while循环遍历列表元素

        i = 0  # i就是列表元素对应的下标
        while i < len(list4):
            print(list4[i])
            i += 1
    

    取下标是奇数的数
    方法一:

        i = 1
        while i < len(list4):
            print(list4[1])
            i += 2
    

    方法二:

        i = 0
        while i < len(list4):
            if i % 2 == 0:
                i += 1 # 必须要写,因为continue会终止一次循环,后面的就不运行了,如果没有这句话就会死循环。
                continue
            print(list4[i])
            i += 1
    

    二十、关于list的运算符和函数

    1.求列表长度借用len()函数

    格式:len(列表或列表名)

        list1 =[1,2,3,4,5,6]
        length = len(list1)
        print(length)
    

    2.列表的+操作

    列表1+列表2:将列表1和列表2中的元素,组合成一个新的列表

        list2 = [1, 2, 3, 4] + ['a','b']
        print(list2)
    

    3.列表的*操作

    列表整数:将列表中的元素重复指定次数,组合成一个新的列表。*

        list3 = [10, 2]*4
        print(list3)
    

    4. in 和 not in

    元素 in列表:判断指定的元素是否在指定的列表中
    元素 not in列表:判断指定的元素是否不在指定的列表中

        list4 = ['abc','123',1,'0o',10]
        re = 'abc' in list4
        print(re)
    
        re = 'abcd' not in list4
        print(re)
    

    4.获取列表中的最大的元素

    *** 格式:max(列表)***

        list5 = [1,34,6,78,90,12,35]
        max1 = max(list5)
        min1 = min(list5)
        print(max1)
    

    5.获取列表中的最小值

    格式:min(列表)

        list6 = ['a','b','c','d','a']
        print(max(list6))
    

    注意:获取最大值或最小值的时候,列表的元素的类型要么都是数字要么都是字符串

    练习:求表演的平均分数(5个裁判,给表演打分。去掉一个最高分,再去掉一个最低分)

        import random
        list1 = [] # 用来存储产生的随机数
        for _ in range(0,5): # 当出现明显的要重复的命令,就要写循环。
            num = random.randint(0,10)
            # random.uniform(x,y):随机产生固定范围的浮点数
            list1.append(num)
        print(list1)
        list1.remove(max(list1))
        list1.remove(min(list1))
        print(list1)
        # sum(列表):计算列表中所有的元素的和,这里就可以直接用sum函数来计算和,不用用循环
        sum = 0
        while len(list1)> 0:
            num1 = list1.pop()
            sum += num1
        print(sum/3)
    

    6.将其他的数据转换成列表

    格式:list(数据,但不是所有都行,只有序列类的才行),可以将字符串转换为列表。

        list1 = list('abcdefg')
        print(list1)
        # 将列表转成字符串(不仅仅是将列表的元素拼接成字符的,而是将整个列表所有的结构都作为字符串的字符)
        str1 =str([1,2,3,4,'a'])
        print(str1,str[0])

    相关文章

      网友评论

          本文标题:Python学习总结【连载】(五)

          本文链接:https://www.haomeiwen.com/subject/hsxzeftx.html