美文网首页
Day-06 列表

Day-06 列表

作者: 水果坚果燕麦片 | 来源:发表于2018-12-29 10:59 被阅读0次

    1. 什么是列表(list)

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

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

    [1,2,3]
    [10,'abc',True]
    num = 100;[num,200]
    [] --空列表
    

    列表元素的类型可以使任何python支持的数据类型,并且同一个列表中不同元素的数据类型可以不一样

    scores = [90,89,100,67]
    list1 = [90,10.34,'abc',True,[1,2,3],{'a':10},lamda x: 2*x]
    6个元素 任何数据类型都可以作为列表的元素
    
    list2 = [
    90,
    10.34,
    'hello',
    {'name':'xiaoming'}
    ]
    元素比较复杂时可以分行写,但是普通数据不能这样写
    

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

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

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

    b. 获取部分元素(切片)

    列表[开始下标:结束下标:步长]
    movies = ['毒液','功夫熊猫','肖生克的救赎','这个杀手不太冷']
    print(movies[1:4:2])
    

    c. 一个一个取出所有元素
    for循环直接遍历列表拿到每个元素(操作元素的时候和下标无关)
    可以通过遍历元素的对应下标来遍历列表元素(元素的操作和下标有关)

    # 直接遍历
    for item in movies:
      print(item)
    # 通过下标来遍历
    for index in range(len(movies))
      print('下标:',index)
      print(movies[index])
    
    练习:统计一个班的学生的成绩,存到一个列表中,求着整个班的学生的平均
    sum = 0
    list = [90,89,80,70,98,67]
    for i in range(len(list)):
        sum += list[i]
    print('%.2f' %(sum/len(list)))
    -----------------------------------
    sum = 0
    list = [90,89,80,70,98,67]
    for i in list:
        sum += i
    print('%.2f' %(sum/len(list)))
    

    3.增(添加列表元素)

    a.append
    列表.append(元素) - 在指定的列表最后添加指定的元素

    animes = ['海贼王','火影忍者','秦时明月']
    animes.append('一拳超人')
    print(animes)
    
    结果如下:
    ['海贼王', '火影忍者', '秦时明月', '一拳超人']
    

    b.insert
    列表.insert(下标,元素) - 在指定的下标前插入指定元素

    animes.insert(2,'犬夜叉')
    
    结果如下:
    ['海贼王', '火影忍者', '犬夜叉', '秦时明月', '一拳超人']
    

    2.删
    a.del
    del 列表[下标] - 删除列表中指定下标对应的元素
    注意:del是python的关键字,可以用它删除任何数据
    b.remove
    列表.remove(元素) - 删除列表中第一个的指定元素
    注意:被删除的元素在列表中必须是存在的 不然会报错
    c.pop
    列表.pop() - 将列表中最后一个元素从列表中取出,会返回取出来的元素
    列表.pop(下标) - 将列表中指定下标对应的元素从列表中取出,会返回取出来的元素

    del animes[-2]
    print(animes)
    
    结果如下:
    ['海贼王', '火影忍者', '犬夜叉', '一拳超人']
    animes.remove('海贼王')
    ['火影忍者', '犬夜叉', '一拳超人']
    

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

    ages = []
    age = input('年龄')
    while age != 'end':
      ages.append(int(age))
      age = input('年龄')
    for age in ages[:]:
      if age < 18:
        ages.remove(age)
    print(ages)
    

    相关文章

      网友评论

          本文标题:Day-06 列表

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