美文网首页
Day_05 列表

Day_05 列表

作者: FansYuercero | 来源:发表于2018-07-20 17:16 被阅读0次
    1.输出函数print()

    默认每一个print函数,输出完内容后会输入一个换行
    一个print函数输出多个内容的时候,内容之间是用空格隔开的。
    print('aaa',100.end='**')默认为end='\n'设置输出以什么结束。
    print('aaa',100,end='\n',sep=' ')通过设置sep的值,来设置多个内容之间的间隔符(默认是'空格)

    print('a','b',end='*',sep='@')
    a@b*[Finished in 0.4s]
    

    input()函数可以接收从控制台输入的内容(以回车为结束标志)
    input()函数会阻塞线程,程序执行input()时候会等待用户输入,输入完成后,继续执行。
    input()函数接收到的数据是以字符串形式返回(python2.x中输入的是数字的时候,可能返回int型或浮点数类型)

    猜数游戏:
    import random
    suiji = random.randint(1,100)
    guess = input('enter ther number:')
    if int(guess)<suiji:
        print('too low')
    elif int(guess)>suiji:
        print('too big')
    elif int(guess)==suiji:
        print('good')
    print('the random number:%d'%suiji)
    
    enter ther number:23
    too low
    the random number:87
    

    列表、字典、元组、集合都是序列,都是容器类型的数据类型。
    列表(list):用来存储多个数据的一种数据类型,里面存储的单个数据叫元素。
    特点:1.有序的 2.可变的(列表的内容个数与值可变) 3.元素可以是任何类型的数据
    类型转换:整型和浮点数不能转换为列表,字符串可以 list1 = list(str)

    list1 = list('abc')
    print(list1)
    
    ['a', 'b', 'c']
    [Finished in 0.4s]
    

    列表的声明方式:
    方式1:list1 = [1,2,3] list1 = []空列表
    方式2:将其他的数据类型转换为列表,只有序列能转换 list1 = list(str)
    方法3:通过生成式创建列表 list2 = list(i for i in range(10))
    list2 = list(i*2 for i in range(10) if i%2==0)

    list1 = [1,2,3]
    list2 = []
    list3 = str('abc')
    list4 = list(i*2 for i in range(6))
    print(list1,list2,list3,list4)
    
    [1, 2, 3] [] abc [0, 2, 4, 6, 8, 10]
    [Finished in 0.6s]
    

    列表相关操作:列表中的每一个元素都对应一个下标:0-列表长度-1;-1- -列表长度

    1.获取列表元素

    list1 = [1,2,3,4,5]
    print(list1[2])
    print(list1[::-1])逆序获取
    print(list1[0:5:2])步进获取 list1[开始:结束:步进],按步进对下标等差获取
    print(list1[:])获取列表所有元素,重新创建一个新的列表
    
    

    注意:开始、结束、步进都可以缺省(不能同时)。步进为正,开始缺省,则从左-右依次获取,为负,从右-左获取

    names = ['路飞','佐罗','娜美','鸣人','佐助']
    print(names[3],names[4],end='\n',sep=' vs ')
    print(names[0:5:2])
    print(names[-5::])
    print(names[::-1])
    print(names[::-2])
    print(names[:])
    
    鸣人 vs 佐助
    ['路飞', '娜美', '佐助']
    ['路飞', '佐罗', '娜美', '鸣人', '佐助']
    ['佐助', '鸣人', '娜美', '佐罗', '路飞']
    ['佐助', '娜美', '路飞']
    ['路飞', '佐罗', '娜美', '鸣人', '佐助']
    [Finished in 1.1s]
    

    列表的遍历

    score = [12,14,456,7,9,69]
    for x in score:
        print(x)
    

    列表的长度:获取列表中元素的个数
    len(list1)

    list1 = [1,2,3,4,5]
    print(len(list1))
    
    5
    [Finished in 0.3s]
    

    列表while遍历

    score = [12,124,4436,768,79]
    x = 0
    while x<len(score):
        print(score[x])
        x+=1
    

    添加列表元素:
    1.append()函数:添加元素 list1.append(元素)
    注意:append()函数在列表的年末未添加一个元素
    2.insert()函数:insert(index,元素)在列表指定的下标中插入元素
    注意:insert()函数下标可以越界:list1 = [1,2,3]
    list1.insert(4,4)-->list1 =[1,2,3,4]
    3.+ :列表1+列表2,将列表2中的元素,添加到列表1中
    list1 = [1,2,3] list2 =['a','b','c']
    list1+list2 = [1,2,3,'a','b','c']

    list1 = []
    list1.append(1)
    list1.append(2)
    list1.insert(2,3)
    list2 = ['a','b','c']
    list3 = list1+list2
    print(list1,list3)
    
    [1, 2, 3] [1, 2, 3, 'a', 'b', 'c']
    [Finished in 0.8s]
    

    删除列表元素:
    1.del可以删除任何数据
    del 列表[下标]:s删除列表中指定下标的元素
    del list1[0]:删除列表第一个元素,删除后列表下标重新刷新

    films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
    del films[0]
    print(films)
    ['阿甘正传', '摔跤吧爸爸', '海上钢琴师', '美丽人生']
    

    获取列表中元素的下标:list.index(元素)

    films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
    print(films.index('阿甘正传'))
    
    1
    [Finished in 0.5s]
    

    2.remove(元素):删除列表指定的元素,如果列表中元素重复的有多个,remove函数只删除前面的。
    如果要删除的元素不在列表中,则会报错。错误类型ValueError

    films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
    films.remove('肖生克的救赎')
    print(films)
    
    ['阿甘正传', '摔跤吧爸爸', '海上钢琴师', '美丽人生']
    [Finished in 0.5s]
    

    3.pop()方法:
    列表.pop():将列表最后一个元素取出来
    列表.pop(下标)取出列表中指定下标的元素

    films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
    films.pop()
    print(films)
    films.pop(0)
    print(films)
    str1 =films.pop(0)
    print(str1)
    
    ['肖生克的救赎', '阿甘正传', '摔跤吧爸爸', '海上钢琴师']
    ['阿甘正传', '摔跤吧爸爸', '海上钢琴师']
    阿甘正传
    [Finished in 0.8s]
    

    注意:pop()函数进行删除元素操作时,下标不能越界
    注意:del()和remove()方法直接将列表中元素从内存中删除,pop()函数将元素移除,可以使用这个移除的元素。

    练习:使用列表保存10个学生的成绩

    score = []
    for x in range(1,11):
        gread = int(input('输入第%d个学生的成绩:'%x))
        score.append(gread)
        print('第%d个学生的成绩是:%d'%(x,score[x-1]))
    
    输入第1个学生的成绩:23
    第1个学生的成绩是:23
    输入第2个学生的成绩:23
    第2个学生的成绩是:23
    输入第3个学生的成绩:
    

    练习:删除列表中小于60的成绩

    score = [23,45,78,32,90,89,1]
    for x in  score[:]:
        if x<60:
            score.remove(x)
    print(score)
    
    [78, 90, 89]
    

    修改列表的元素
    通过下标获取元素然后重新赋值:list[下标]=新值
    注意:下标不能越界

    判断元素是否在列表中
    元素 in list 元素 not in list 返回一个bool值

    names = [1,2,2,3,4,5,1,5,6]
    names1 = []
    for x in names:
        if x not in names1:
            names1.append(x)
    print(names1)
    

    获取列表长度
    len(列表)

    列表*数字:让列表中的元素重复n次,产生一个新的列表

    获取列表中的最大的元素和最小元素
    max(列表) min(列表)
    注意:如果列表全为数字,则比较数字的大小,全为字符串,比较字符串首字母大小

    统计元素在列表中出现的次数
    list.count(元素)

    extend:添加元素 list.extend(),将序列中每一个元素,添加到列表中
    list.extend(['hello,world'])不加中括号就会按字母添加

    list.index(元素):获取指定元素在指定列表中的下标,如果元素有多个,取第一个

    list.reverse():将列表倒序
    123 321
    注意:此函数对元列表进行操作,不会产生新的列表
    list = [1,2,3]
    list.reverse()
    print(list)

    sort():对列表进行排序
    list.sort() 默认升序,降序list.sort(reverse=True)

    list.clear():请空列表
    list.clear() 等同于 list = []

    list.copy():复制列表
    注意:复制的是列表的中元素,重新创建新的列表,不复制列表的地址
    list.copy() 相当于 list1 = list[:],都是创建新的列表,只复制原列表的元素

    相关文章

      网友评论

          本文标题:Day_05 列表

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