• day6 字典的介绍


    一、上节知识回顾:

    1、list:li=[1,2,3,5,"a"]

    增加: append:末尾加入==追加

               insert  :插入,在任意位置,insert(index,"内容”)

               extend :迭代着加入,“asc”---------a,s,c[1,2,3]--------a,s,c,1,2,3

    删除: pop 按索引删除,有返回值

               remove:按元素删除

              del  :del li[0]       del li[1:4]         del li(删除整个)

    改:li[0]="djshf"     li[1:3]="abcd"    li=["sdalk",1,2,4,"a"]

    查询:按照索引,切片,for while 等都可以查出。

    其他方法:   count   计数  没有切片

                       sort 从小到大,正序,sort(reverse=True) 倒序排列

                        reverse:反转

                        index  找出元素的索引位置 可以切片

    2、元祖。只读,不能更改,儿子不能改,孙子可以改。

                  可以切片

    3、range(4,12)=[4,5,6,7,8.......11]

                 for i in []:

     pay2:xrange

             range

     pay3:range

    二、作业讲解:

    1、面试题: 关于切片 

    li=[1,3,2,'a',4,'b',5,'c']
    通过对li列表的切片形成新的列表l5,l5 = [‘c’]
     l5=li[-1:]

    2、字符串的拼接

    # 利用下划线将列表的每一个元素拼接成字符串“alex_eric_rain“
    li=["alsex","erric","rain"]
    第一种方法:运用join
    temp="_".join(li)
    print(temp
    
    第二种方法(非常重要)
    msg=""
    is_first=True
    for item in li:
        if is_first:
            tmp=item
            print(tmp)
            is_first=False
        else:
            tmp="_"+item
            print(tmp)
        msg+=tmp
    print(msg)
    
    第三种方法:
    li=["alex","eric","rain"]
    info="{}_{}_{}".format(li[0],li[1],li[2])
    print(info)
    
    第四种方法:
    s="alsex"
    for i in li[1:3]:
        s=s+"_"+i
    print(s)
    字符串的拼接

    非常重要的知识点:

    将 str——>list   使用 split

    将 list——>str   使用 join

    li="name,sahd,1231"
    print(li.split(","))                      # ['name', 'sahd', '1231']
    l1=['name', 'sahd', '1231']
    print(",".join(l1))                      #name,sahd,1231

    3、利用for循环;

    # 6、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
    # 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
    # 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
    # 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
    info=input("请输入您的评论:")
    li=["苍老师","东京热","武藤兰","波多野结衣"]
    new_li=[]
    for i in li:
        if li.index(i)!=-1:
            info=info.replace(i,"***")
    l1=new_li.append(info)
    print(new_li)

    4、嵌套循环

    7,有如下列表li = [1,3,4’,alex’,[3,7,8,’taibai’],5,’ritian’]
    循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
    我想要的结果是(用三种方法实现):
    li=[1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
    第一种方法:利用判断
    for i in range(len(li)):
        if type(li[i])==list:
            for j in li[i]:
                print(j)
        else:
            print(li[i])
    第二种方法:
    for i in range(len(li)):
        if  i==4:
            for j in li[i]:
                print(j)
        else:
            print(li[i])
    第三种方法:利用列表的添加
    new_lit=[]
    for i in li:
        if type(i)==list:
            s=li.index(i)
            l1=li[0:s]
            l2=li[(s+1):]
            new_lit.extend(l1)
            new_lit.extend(i)
            new_lit.extend(l2)
            for j in new_lit:
                print(j)
    第四种方法:利用列表的改
    new_lit=[]
    for i in li:
        if type(i)==list:
            s=li.index(i)
            li[s:s+1]=i
            for j in li:
                print(j)
    嵌套循环

     三、今日内容

    1、字典

    (1)字典是无序的;

    (2)数据关联性强

    (3)键值对,唯一一个映射的数据类型

    (4)字典的键必须是可哈希的(不可变的数据类型;字符串,数字,布尔值,元祖)并且是唯一的

                               不可哈希的(可变的数据类型:列表,字典,set)

    2、增

    (1)直接增添   dic["name"]="liu" (如果字典里有,则覆盖)

    name={"name":"liu","age":12,"wang":"li"}
    name["wae"]="tiantain"
    print(name)
    #{'name': 'liu', 'age': 12, 'wang': 'li', 'wae': 'tiantain'}

      (2) setdefault  有键值对 不做任何改变,没有键值对才添加

    name={"name":"liu","age":12,"wang":"li"}
    name.setdefault("k")
    #{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None}
    name.setdefault("k","asd")   
    #{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None}
    name.setdefault("ds","saji")     
    #{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None, 'ds': 'saji'}
    print(name)

    3、删(1)pop     dic.pop("name")

                               dic.pop("name",None)有返回值

             (2)popitem 无返回值  dic.popitem()

    name={"name":"liu","age":12,"wang":"li"}
    print(name.pop("name"))      #liu   (返回值)
    print(name)               #{'age': 12, 'wang': 'li'}
    print(name.pop("andj",None))   #None
    name.popitem()
    print(name)                #{'age': 12}

                 (3) clear   dic.clear()

    name={"name":"liu","age":12,"wang":"li"}
    name.clear()
    print(name)      #{}

                 (4) del  del.dic["name"]

    name={"name":"liu","age":12,"wang":"li"}
    del name["name"]
    print(name)      #{'age': 12, 'wang': 'li'}

     4、查

    (1)直接查看,通过键  dic["name”]

    (2) get  dic.get("name",没有)  若没有这个键则返回None(或者自己设置返回值)

    name={"name":"liu","age":12,"wang":"li"}
    print(name["name"])     #liu
    print(name.get("age"))    #12
    print(name.get("ashu"))      #None(如果没有则返回)
    print(name.get("sdkfj","jhfue"))   #jhfue(如果没有可以设定返回值)
    (3)Keys   dic.keys()#返回键列表
    (4)values dic.values()#返回值列表
    (5)items dic.items() #返回键值对
    name={"name":"liu","age":12,"wang":"li"}
    print(name.keys())
    print(name.values())
    print(name.items())
  • 相关阅读:
    Session共享的解决方案
    用IIS配置反向代理
    authorization配置
    git之https或http方式设置记住用户名和密码的方法
    微信分享接口
    为你的Visual Studio单独设置代理服务器
    HTTP错误404.13
    MVC5的AuthorizeAttribute详解
    【MVC5】画面多按钮提交
    PetaPoco dynamic
  • 原文地址:https://www.cnblogs.com/number1994/p/7874949.html
Copyright © 2020-2023  润新知