zoukankan      html  css  js  c++  java
  • Python自学笔记(5day)

    dict 字典

    (1)数据分为可变数据类型与不可变数据类型

      可变数据类型:list dict

      不可变数据类型:int str bool 元祖

      字典的key:为不可变数据类型

      字典的value:为可变数据类型

    字典操作

    (1)增     dict[key]=value      或者   dict.setdefault(key,value)

    dict={"height":184,"age":18}
    dict["weight"]=135
    print(dict)
    #输出:{"height":184,"age":18,"weight":135}
    #也可以将 dict["weight"]=135 换成  dict.setdefault("weight",135)  

    (2)删     dict.pop(key)     dict.popitem()随机删除    dict.clear()      del dict[key]

    #(1)dict.pop
    dict={"name":"wang","sex":"male"}
    dict.pop("name')
    print(dict)
    #输出:{"sex":"male"}
    #如果print(dict.pop("name"))
    #输出:"wang"

    (3) 改    dict[key]=value  如果原字典中存在相同的key,则会将原value覆盖掉,如果没有相同key则会添加   

                dict1.update(dict)   将dict添加到dict1中,会覆盖掉相同的key值

    dict={"name":"w","age":12}
    dict1={"height":156}
    dict.update(dict1)
    print(dict)
    #输出:{"name":"w","age":12,"height":156}
    #如果,dict.setdefaut("name",18),这时输出:{"name":18,"age":12}

    (4)查     dict.keys()查找key      dict.values()  查找键值        dict.items()  查找键值对

    #查找键
    dict={"name":"w","age":12} for i in dict.keys(): #也可以用for i in dict, dict默认查找键 print(i) #输出:name age


    #查找键值
    dict={"name":"w","age":12}
    for i in dict.values():
      print(i)
    #输出:w 12


    #查找键值对
    dict={"name":"w","age":12}
    for i in dict.items():
      print(i)
    #输出:("name","w") ("age",12) 返回的是元祖
    #如果想要不加括号则:for v,k in dict.items() 这时v代表key,k代表value
    #输出:name w
    # age 12


    (5)嵌套   dict的嵌套与列表一样,总的来说就是找到对应位置,然后进行相应的操作。

    dict={"name":["alex","wangran"]
                "p":{
                            "time":123
                            "shuaige":12
                        }
                   "age":12
            }
    
    #添加一个键值对
    dict.setdefault("height",12)
    
    
    #在键"p"所对应的值中添加以上键值对
    #dict["p"].setdefault("height",12)
    #也可以:dict["p"]["weight"]=12

    (6) 判断一个字符是否为字母 i.isalpha()    判断是否为数字  i.isdigit()

    课后习题

    #定义一个看列表,将大于30的数字放在key1下面,小于33的放在key2下面,以字典的形势。
    
    list=[1,3,5,7,9,45,67,89,100]
    dict={}
    l=[]  #存放小于33的数字的v列表
    s=[]  #存放大于33的数字的列表
    for i in list:
        if i<33:
            l.append(i)
        else:
            s.append(i)
    dict.setdefault("key1",l)
    dict.setdefault("key2",s)
    print(dict)
    #定义一个列表,输出序号以及对应商品名字,并可以使用户选择商品序号打印出商品
    while 1:
        list=["手机","电脑","吸尘器"]
        for i in list:
            print("{}  {}".format(list.index(i)+1, i))
        num=input("输入商品序号输入Q结束:
    ")
        if num.isdigit():
            num=int(num)
            if num>0 and num<len(list):
                print(list[num-1])
        elif num.upper()=="Q":
            break
        else :
                print("请输入数字") 
    
    
     
  • 相关阅读:
    单词方阵【DFS】
    关于vs扩展下载慢的问题。(更改一下,补充)
    归并排序的应用
    用qt做了个简易音乐播放器(零基础真的是太难了)
    实操理解微软所说的“物理文件位置”和“逻辑文件位置”的区别
    获取指定数量的容器的各自的所有元素,并可对容器分页
    [备忘]silverlight中关于“复制到输出目录”和“生成操作”
    [备忘]silverlight中播放视频路径问题
    与并行相关的常见概念
    巧用vs的PostBuildEvent
  • 原文地址:https://www.cnblogs.com/baobaoran/p/9615619.html
Copyright © 2011-2022 走看看