day6_list

作者: y_j杨健 | 来源:发表于2018-12-30 13:43 被阅读0次

    konw_list

    1.什么是列表list()

    列表是Python提供的容器型数据类型。 可变并且有序的
    可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的素的顺序可变
    有序 - 每个元素可以通过下表来确定位置

    2. 列表的字面量:通过[] 括起来,里面有多个元素,每个元素用逗号隔开 ·

    [1,2,3,3]
    [33,'dvf',True]
    num = 100; [num,399]
    [] -- 空列表
    

    !注意:列表元素的类型可以是任何Python支持的数据类型;并且同一列表中不同的元素的类型可以不一样

    • 任何类型的数据都可以作为列表的元素
    scores = [89,99,90,67]
    list1 = [90,34.3,'ddd',True,[3,4,5],{'a':34},lambda x: 2 * x]
    print(scores,list1)
    print(len(list1))
    
    a = [3,34]
    list2 = [a,10]
    print(list2)
    

    2.获取列表元素(和字符串获取字符的语法是一样的)

    a. 获取单个元素
    列表[下表] - 获取列表中制定下表对应的元素

    list1 = [10,20,30,40]
    print(list1[0])
    print(list1[-1])
    

    b. 获取部分元素(切片) - 结果是列表
    列表[开始下表:结束下表:步长]

    注意:取不到的时候,结果是空列表;不管怎么取结束下表取不到
    c. 一个一个的取出所有元素(遍历)
    可以使用for循环直接遍历列表拿到每个元素;(操作元素的时候和下标无关)
    可以通过遍历列表元素对应的下表来遍历列表元素;(操作元素的时候和下标有关)

    * 直接遍历

    num = [1,2,3,5,6,7,8,8]
    for item in num:
        print(item)    1、2、3、4、5、6、7、8、8
    

    通过下标来遍历

    num = [1,2,3,5,6,7,8,8]
    for index in range(len(num)):
           # print(index)   index就是下标
            print(num(index))  
    

    练习:统计一个班的学生的成绩,存到一个列表中。求整个班的学生的平均成绩
    [90,89,70,60,98]
    打印出平均成绩

    scores = [90,89,70,60,98]
    num = 0
    for str1 in scores:
          num += str1
    print('平均值为:%d' % num)
    

    addDelUpdete

    1. 增(添加列表元素)

    a. append
    列表.append(元素) - 在指定的列表的最后添加指定的元素(注意:这个操作不会产生新的列表)
    b. insert
    列表.insert(下标,元素) - 在指定的下标前插入指定的元素(,这个操作不会产生新的元素)

    animes = ['海贼王', '火影忍者', '一人之下'
               '海贼王', '秦时明月', '画江湖']
    
    animes.append('一拳超人')
    print(annimes)
    ['海贼王', '火影忍者', '一人之下'
     '海贼王', '秦时明月', '画江湖','一拳超人']
    
    animes.insert(2,'犬夜叉')
    ['海贼王', '火影忍者', ‘犬夜叉’,'一人之下'
     '海贼王', '秦时明月', '画江湖','一拳超人']
    

    2. 删

    a. del 列表[下标] - 删除列表中指定下标对应的元素

    注意:del是Python中的关键字,可以用它删除任何数据,这儿的下标不能越界

    b. remove
    列表.remove() - 删除列表中第一个指定元素

    被删除的元素在列表中式存在的

    c. pop
    列表.pop() - 将列表中最后一个元素从列表中取出,会返回取出来的元素
    列表.pop(下标) - 将列表中指定的下标对应的元素从列表中取出,会返回取出来的元素

    1. del
    num = [1,2,3,4]
    del.num[-2] 
    print(num)
    [1,2,4]
    

    2.remove

    num= ['sdf',52,[2,2],0.3]
    num.remove([2,2]) -->['sdf',52,0.3]
    
    

    3.pop

    num = [1,58,52,69,2]
    num.pop()  --> [1,58,52,69]
    num.pop(0)  -- >[58,52,69]
    

    练习:用一个列表统计一个班的学生年龄(控制台不断输入年龄值,知道输入end为止),然后删除所有小于18岁的年龄

    ages = []
    age = input('输入年龄:')
    while age != den:
        ages = int(age)
        age = inpt('输入年龄:')
    
    for str1 in range(len(ages)):
        if  str1 < 18:
              ages.remove(str1)
    print(ages)
    

    3. 改(修改元素的值)

    列表[下标] = 新值 -- 修改列表中指定下标对应的值

    list1 = [1, 2, 3]
    list1[0] = 'abc'
    print(list1)
    

    练习: 有一个列表中保存的是学生的成绩,要求将列表中成绩小于60分的改成'下一个班见',
    并且统计下一个班见的学生的个数

    scores = [90, 78, 50, 77, 23, 82, 45]
    num = 0
    for index in range(len(scores)):
        if scores[index] <  60:
                scores[index] = '下个班见' 
                num += 1
    print('成绩小于60分的人数个数为%d'  % num) 
    

    4. List_Operation

    1. 相关运算: + , *
      a.数学运算
      列表1 + 列表2 - 将两个列表中的元素合并在一起产生一个新的列表
      列表 * N - 列表中的元素重复N 次,产生一个新的列表

    b. 支持比较运算:
    和字符串比较运算差不多

    print([1,33] + ['s','d'])   --- >  [1,3,'s','d']
    
    1. in / not in

    元素 in 列表 - 判断列表中是否存在指定的元素

    print('abc' in ['abc',23,'dd',True])   #  True
    

    3.len
    len(列表) - 获取列表中元素的个数

    1. list
      list(数据) - 将其他的数据转换成列表;只有序列才可以转换成列表
      转换的时候就是将序列中所有的元素转换成序列的元素

    2. 序列其他方法

    max(序列) - 获取序列中最大的元素
    min(序列) - 获取序列中最小的元素
    sum(序列) - 求序列中所有元素的和

    注意:以上三个方法,要求序列中的元素类型必须一致!并且这个类型支持比较运算和加法运算(一般数字序列用)

    print(max([33,56,88,99]))
    print(sum([33,56,88,99]))
    print(sum(range(101)))
    
    练习: 用一个列表统计一个班的学生年龄(控制台不断输入年龄值,直到输入end为止), 然后删除所有小于18岁的年龄
    age = input('请输入:')
    ages = []
    while age != end:
        ages.append(int(age))
        age = input('请输入:')
    
    for str1 in ages[:]:
        if str1 < 18:
            str1.remove(str1)
    print(ages)
        
    
    

    相关文章

      网友评论

          本文标题:day6_list

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