首页 > 技术文章 > 第一模块 day4 (下)

666sss 2019-09-23 23:41 原文

2.17

字典创建

person = {"name": "alex", 'age': 20} 

person = dict(name='seven', age=20)

--------------------------------
keys = {1,2,3,4,5}

print({}.fromkeys(keys))

{1: None, 2: None, 3: None, 4: None, 5: None}
----------------------------------


keys = {1,2,3,4,5}

print({}.fromkeys(keys,100))

{1: 100, 2: 100, 3: 100, 4: 100, 5: 100}


-------------------

字典创建操作

1.    dic.keys()    返回字典包含的所有key 列表

persion = {"name":"alex","age":20}

print(persion.keys())

dict_keys(['name', 'age'])



2.    dic.values()    返回字典包含的所有values

persion = {"name":"alex","age":20}

print(persion.values())

dict_values(['alex', 20])


3.    dic.items()    返回字典包含的所有key和values

persion = {"name":"alex","age":20}

print(persion.items())

dict_items([('name', 'alex'), ('age', 20)])

-------------------

增1
    persion = {"name":"alex","age":20}        如果字典的key不存在,则直接新增

                                            如果字典的key存在,则会替换新赋值的 value

    persion['sex'] = 'boy'

    {'name': 'alex', 'age': 20, 'sex': 'boy'}

-------------------------------

增2    
    setdefault(k,v)

    persion.setdefault('eat','猪肉')        如果字典的key不存在,则直接由 dict[key] = default

    {'name': 'alex', 'age': 20, 'eat': '猪肉'}        

    -------------------

    persion.setdefault('name','大傻瓜')    如果字典的key 存在, 那么直接返回之前的value,这种操作比较安全

    {'name': 'alex', 'age': 20}

删1
    pop()

    persion.pop("name")    如果字典中存在key,删除并返回key对应的vuale:    alex    

                        如果key不存在,且没有给出default的值,则引发keyerror异常;

    persion = {"name":"alex","age":20}
    print(persion.pop("name1",-1))        name1 不存在,又指定了,返回-1 ,如果不存在,则返回-1





删2    
    popitem()    随机返回并删除字典中的一对键和值,如果字典已经为空,却调用了此方法,就报出KeyError异常

    persion = {"name":"alex","age":20,"sex":"","喜欢":"吃肉"}
    print(persion.popitem())


删3    

    clear()        清空字典


修改

    update()


    persion = {"name":"alex","age":20}
    persion2 = {"name":"alex","age":30}

    persion.update(persion2)        仔细看,age变成了30. update()里面跟的谁,
                                    如果重复的value,就以()里面的value为主导

    print(persion)                    
    {'name': 'alex', 'age': 30}



查看1
        persion('name')      alex     ,如果key不存在,报错

查看2


    get()

    persion.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,

                                     则返回default的值(default默认为None)


    persion = {"name":"alex","age":20,"sex":"","喜欢":"吃肉",'1':'2'}

    persion.get(key,default='不存在')

    print(persion.get("美女",'不存在'))

    D:\Python\python.exe E:/pycode/test.py
    不存在



循环1

    for k in persion.keys()

循环2

    for k in persion.values()

循环3
    for k in persion:
        print(k,persion[k])

循环4

    for k,v in persion.items():
        print(k,v)


长度        len()

persion = {"name":"alex","age":20,"sex":"","喜欢":"吃肉",'1':'2'}
print(len(persion))        返回长度    5

 

推荐阅读