美文网首页
一阶段day7-01列表

一阶段day7-01列表

作者: ATM_shark | 来源:发表于2018-10-08 17:30 被阅读0次
    列表(list):是Python中的容器类的数据类型,可以用来存取多个数据。列表是可变的,有序的。
    可变指的是列表中的元素值和位置以及列表的长度;
    有序指的是可以通过下标来获取元素;
    字面量:[元素1,元素2,元素3........]
    列表中的元素可以是任何类型的数据(整数int,浮点数float,布尔值bool,字符串str,列表list,字典,元祖,集合,函数);
    注意:变量也可以作为列表的值;
    name='改口费'
    list1=[1,4.34,"辣鸡",True,name]   #声明一个变量list1,给他赋了一个列表,列表中有5个元素
    print(list1)             #[1, 4.34, '辣鸡', True, '改口费']
    

    一、列表元素获取(查询)

    1、获取单个元素

    列表也可以进行的操作包括索引,切片,加,乘,检查成员,同字符串;
    列表[下标] 说明:列表一旦确定,列表中的每个元素的下标就确定了。下标范围:0—n-1或者-1—-n;
    names=['鸣人','佐助','小樱','卡卡西']
    print(len(names))
    print(names[0],names[-4])   #鸣人  鸣人
    

    2、获取列表部分元素(切片)——>(结果是列表)

    格式和字符串切片一样
    print(names[1:3])          #['佐助', '小樱']
    print(names[::2])         #['鸣人', '小樱']
    print(names[::-2])       #['卡卡西', '佐助']
    

    二、列表增删改

    1、增(增加元素)

    a、列表.append(元素)——>在列表最后添加一个元素,只能一个一个添加;
    films=['绿巨人','钢铁侠','神奇女侠']
    films.append('美国队长')
    print(films)                  #['绿巨人', '钢铁侠', '神奇女侠', '美国队长']
    
    b、列表.insert(下标,元素)——>在指定的下标前去添加指定元素;
    films.insert(1,'蜘蛛侠')          #['绿巨人', '蜘蛛侠', '钢铁侠', '神奇女侠', '美国队长']
    print(films)
    

    2、删(删除元素)

    a、del 列表[下标]——>删除列表中指定下标对应的元素;
    del语句是Python中用来删除数据的语法,可以删除任何数据;
    heros=['盖伦','皇子','赵信','提莫']
    del heros[-1]
    print(heros)     #['盖伦', '皇子', '赵信']
    
    b、列表.remove(元素)——>删除列表中指定元素
    注意:如果这个元素在列表中存在多个,只删除最前面那一个;
    heros.remove('皇子')
    print(heros)      #['盖伦', '赵信']
    
    c、列表.pop(下标)——>将列表中指定下标对应的元素取出;
    列表.pop()——>将列表中最后一个元素取出;
    naturs=['鸣人','佐助','小樱','卡卡西']
    teather=naturs.pop()
    print(teather)  #卡卡西
    print(naturs)   #['鸣人', '佐助', '小樱']
    naturs.pop(1)
    print(naturs)    #['鸣人', '小樱']
    

    3、改(修改列表中的元素)

    列表[下标]=新值——>将列表中对应下标的元素用新值替换;
    heros=['盖伦','皇子','赵信','提莫']
    heros[-1]='刀妹'
    print(heros)   #['盖伦', '皇子', '赵信', '刀妹']
    

    三、练习

    1.遍历列表中的元素

    for循环变量列表,拿到的就是列表中的每个元素
    numbers = [12, 34, 56, 45, 90, 89]
    for x in numbers:
        print(x)
    =========
    for index in range(len(numbers)):
        print(index, numbers[index])
    
    作业

    1.用一个列表,保存一个班5个学生的成绩,去求这个班的学生的总成绩

    scores = [89, 78, 90, 56, 89]
    sum1 = 0
    for score in scores:
        sum1 += score
    print(sum1)
    

    2.用一个列表,保存多个人的名字(英文的), 将列表中所有的人的名字首字母大写

    names = ['zhangsan', 'XiaoMing', 'lisi', 'wangwu']

    方法1:

    下标

    index = 0
    for name in names:
    
        # 取出首字母
        first = name[0]
        # 判断首字母是否是大写
        if first.isupper():
            index += 1
            continue
        # 新的名字
        new_name = name.title()
        # 修改名字
        names[index] = new_name
        index += 1
    
    print(names)   #['Zhangsan', 'XiaoMing', 'Lisi', 'Wangwu']
    

    ====================================
    names = ['zhangsan', 'Hu', 'HaHa', 'XiaoMing', 'lisi', 'wangwu', 'Head']

    方法二:
    for index in range(len(names)):
        name = names[index]
        # 如果是小写
        if name[0].islower():
            names[index] = name.title()
    print(names)  #['Zhangsan', 'Hu', 'HaHa', 'XiaoMing', 'Lisi', 'Wangwu', 'Head']
    

    3.删除上一个列表中,首字母是H的人的名字

    names = ['Zhangsan','XiaoMing', 'Lisi', 'Wangwu', 'Head']
    names[:] = ['Zhangsan','HaHa', 'XiaoMing', 'Lisi', 'Wangwu', 'Head']
    #for name in names[:]  #等于:new = names[:]+for name in new:
    for name in names[:]:                                 
        if name[0] == 'H':
            names.remove(name)
    print(names) #  ['Zhangsan', 'XiaoMing', 'Lisi', 'Wangwu']
    

    ====================

    names = ['zhangsan', 'HaHa','Hu', 'XiaoMing', 'lisi', 'wangwu', 'Huo']
    index = 0
    while index < len(names):
        name = names[index]
        if name[0] == 'H':
            del names[index]
            continue
        index += 1
    
    print(names)  #['zhangsan', 'XiaoMing', 'lisi', 'wangwu']
    

    练习:保存一个班的学生成绩,剔除不及格成绩;

    grade=[98,88,43,54,79,87,75,65,55]
    for x in grade[:]:
    
        if x<60:
            grade.remove(x)
    
    print(grade)  #[98, 88, 79, 87, 75, 65]
    print('===========')
    grade=[98,88,43,54,79,87,75,65,55]
    x=0
    while x<len(grade):
    
        print(x,len(grade))
        if  60>grade[x]:
            del grade[x]
            continue
        x+=1
    print(grade)   #[98, 88, 79, 87, 75, 65]
    

    相关文章

      网友评论

          本文标题:一阶段day7-01列表

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