zoukankan      html  css  js  c++  java
  • day5笔记

    一.上节回顾:

    1,find通过元素找索引,可切片,找不到返回-1
    2,index,找不到报错。
    3,split 由字符串分割成列表,默认按空格。
    4,captalize 首字母大写,其他字母小写。
    5,upper 全大写。
    6,lower 全小写。
    7,title,每个单词的首字母大写。
    8,startswith 判断以什么为开头,可以切片,整体概念。
    9,endswith 判断以什么为结尾,可以切片,整体概念。
    10,format
    {}{}{}.format(有顺序)
    {0}{1}{2}{0}.format(有顺序的)
    '{name} {age}'.format(name=李复,age=12)
    11,strip 默认去掉两侧空格,有条件,
    12,lstrip,rstrip
    14,center 居中,默认空格。
    15,count查找元素的个数,可以切片,若没有返回0
    16,expandtabs
    17,replace(old,new,次数)
    18,isdigit,isalpha,isalnum
    19,swapcase 大小写翻转
    20,for i in 可迭代对象。

    二、作业:

    #4,实现一个整数加法计算器:
    #如:content = input(‘请输入内容:’)  # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
    #方法一
    msg=input('请输入内容')
    a,b=msg.split('+')
    sum=int(a)+int(b)
    print(sum)
    #方法二
    content = input('请输入内容:')  # content = '3 + 5'
    index = content.find("+")  # index = 2
    s1 = int(content[index+1:])  # int('5') int(' 5') int('5 ')
    print(s + s1)
    #5,计算用户输入的内容中有几个整数。
    #如:content = input(‘请输入内容:’)   # 如fhdal234slfh98769fjdla
    #理解为有多少个数字
    content = input('请输入内容')
    n = 0
    for i in content:
        if i.isdigit():
            n+=1
    print(n)
    #理解为有多少个整数
    name = input('请输入:')
    count = 0
    while name:
        name=name.strip('abcdefghijklmnopqrstuvwxyz')
        name = name.lstrip('123456789')
        count += 1
    print(count)
    作业题收藏

    三、列表:

      (1)索引和切片和字符串类似,切片的输出结果是列表

    lis = ['alex',19,'175cm',True]
    print(lis[0],lis[1],lis[2]) #alex 19 175cm
    print(lis[0:2],lis[3:0:-1],lis[2::2])  # ['alex', 19] [True, '175cm', 19] ['175cm']

     (2)列表的增加  append(追加) ,insert(根据索引插入),extend(迭代增加)

    lis.append('hobby')
    print(lis)  # ['alex', 19, '175cm', True, 'hobby']
    lis.insert(-2,5)
    print(lis)  #['alex', 19, '175cm', 5, True, 'hobby']  都是在原来的元素前插入
    lis.extend('好聪明')
    print(lis)   # ['alex', 19, '175cm', 5, True, 'hobby', '好', '聪', '明']
    lis.extend(['好聪明',1,2])
    print(lis)  #  ['alex', 19, '175cm', 5, True, 'hobby', '好', '聪', '明', '好聪明', 1, 2]

    (3)删除列表中的某个元素 pop(根据索引删除,并且把删除的内容返回,一次只能删除一个)  remove(根据列表中的元素进行删除   如果为空会报错 不返回,一次只能删除一个)

           clear (清空一个列表中的所有元素使字符串变为空) del(根据索引进行删除,可以切片删除,可以加步长删除)

    lis = ['alex',19,'175cm',True,'']
    a = lis.pop()
    print(a,lis)  # True ['alex', 19, '175cm']   不加索引默认删除最后一个,加索引按照索引,不能超出索引
    #lis.remove('19')   # remove后必须要加值,值不存在也会报错
    lis.remove(19)
    print(lis)  # ['alex', '175cm', True]
    lis.clear()
    print(lis)  # []
    lis = ['alex',19,'175cm',True,'']
    del lis[0]
    print(lis)  # [19, '175cm', True, '']
    del lis[0::2]
    print(lis)  # ['175cm', '']  也可以使用切片和步长反向删除;超出范围不报错。 如果切片范围不对则没有值

    (4)修改  可以使用索引或者切片直接给列表中的元素重新赋值

    lis = ['alex',19,'175cm',True,'']
    lis[1] = 20
    print(lis)  # ['alex', 20, '175cm', True, '']
    #lis[0:2] = '老炮儿'   # ['老', '炮', '儿', '175cm', True, '']  如果修改的内容比赋值的元素多,则会迭代增加
    #lis[0:2] = ('老','跑','炮儿') # ['老', '跑', '炮儿', '175cm', True, '']
    #lis[0:2] = '老炮儿',   # ['老炮儿', '175cm', True, '']    # 如果修改的内容比赋值的元素多,可以用,号就不会迭代
    #lis[0:3] = '老炮儿',   # ['老炮儿', '']
    #lis[0:2] = ('老','跑','炮儿'),   # [('老', '跑', '炮儿'), '175cm', True, '']
    lis[2::-1] ='老炮儿'  # ['儿', '炮', '老', True, '']  可以做反向的赋值
    print(lis)

    (5)查找字符串

    切片去查,或者循环去查

    li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
    for i in li:
        print(i)

    (6)find 和index    列表中不支持find 只有 index 

    li = [1,2,5,'taibai','yuanhao',[1,'alex',3],True]
    print(li.index(5,2,))  # 0   支持切片不支持步长   查找元素不存在时候会报错
    print(li.index(True))  # 0 如果列表中含有布尔型,那么将无法用index 取值

    (7)排序和翻转列表

    li=[1,2,3,4,7,6,9,8,5.5]
    #li.sort()
    #print(li) # [1, 2, 3, 4, 5.5, 6, 7, 8, 9] 可以适用于小数的排序
    #反转
    #li.reverse()  # 等价于 li[-1::-1]
    #print(li) # [5.5, 8, 9, 6, 7, 4, 3, 2, 1] 只反转不排序
    li.sort(reverse=True)
    print(li) # [9, 8, 7, 6, 5.5, 4, 3, 2, 1]  先排序后反转

    (8)计数

    li=[1,2,3,4,7,6,9,8,5.5,1,2,1]
    #a = li.count(1)
    #print(a)  # 3
    a = li.count('') 
    print(a)  # 0 如果找不到结果是0
    for i in li:
        print(i,li.count(i))

    (9)range   指定范围,生成指定数字。

    #for i in range(1,10):
    #    print(i)
    
    #for i in range(1,10,2):  # 步长
    #    print(i)
    
    for i in range(10,0,-1): # 反向步长
        print(i)
    l = range(0,10)
    print(type(l)) # <class 'range'>
    print(l[0])  #0
    print(l[0:2])  #range(0,2)

      

    (10)元组    

    #元组的索引与列表类似,也可以切片取值,切片取值的结果是元组
    lis = ('alex',19,'175cm',True,'') #print(lis[0],lis[1],lis[2]) #alex 19 175cm #print(lis[0:2],lis[3:0:-1],lis[2::2]) # ('alex', 19) (True, '175cm', 19) ('175cm') # t = (1,2,3,'adsf',True,[12,3,'苑昊','taibai'],('fdsa',2,3)) # print(t[4]) # print(t[1:4]) # for i in t: # print(i) # t[4] = False 儿子不能更改 # print(t) # t[5][2] = '苑日天' #里边的列表元素可以修改 # print(t)

    (11)列表嵌套

      列表中的元素可以是列表也可以是元组 也可以含有字典

    li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
    print(li[3])  # taibai
    print(li[3][3])  # b
    s = li[4].capitalize()
    li[4] = s
    li[4] = 'Yuanhao'
    print(li)  # [1,2,5,'taibai','Yuanhao',[1,'alex',3,],True]
    s2 = li[4].replace('hao','日天')
    li[4] = s2
    li[4] = li[4][0:4] + 'ritian'
    print(li)  # [1, 2, 5, 'taibai', 'Yuanritian', [1, 'alex', 3], True]
    l2 = li[5]
    li[5][0] = '文杰'
    print(li)  # [1, 2, 5, 'taibai', 'Yuanritian', ['文杰', 'alex', 3], True]
    li[5][1] = li[5][1].upper()  
    print(li) [1, 2, 5, 'taibai', 'Yuanritian', ['文杰', 'ALEX', 3], True]

      

       

  • 相关阅读:
    HDU 2089 不要62
    NOIP 2012 疫情控制
    提高工作效率的shell工具
    log loss与ctr预估
    推荐系统
    浮点数的间隙
    graphviz初学入门指南
    sparse_hash_map、dense_hash_map和sparsetable的实现细节
    每天离不开的工具vim
    安利开发利器 -- tmux
  • 原文地址:https://www.cnblogs.com/zjchao/p/7722140.html
Copyright © 2011-2022 走看看