美文网首页
Python(三)字典操作

Python(三)字典操作

作者: iYeso | 来源:发表于2017-07-26 00:03 被阅读43次

    一: 字典

    • 1: 字典和列表一样, 能够存储多个数据
    • 2: 列表根据下标对元素处理, 但是字典是根据"key"键值对处理
    • 3: 字典是以键值对的方式处理

    #######1.1: 字典访问
    ########1.1.1: 字典根据 键(Key) 来获取 值(Value)操作

    info = {"name":"班长", "id":100, "sex":"male"}
    print(info["name"])
    print(info["id"])
    print(info["sex"])
    
    Success!
    班长
    100
    male
    

    ########1.1.2: 如果字典中 没有相应的Key

    info = {"name":"班长", "id":100, "sex":"male"}
    print(info["name"])
    print(info["sexs"])
    
    Error!
    班长
    Traceback (most recent call last):
      File "4.py", line 6, in <module>
        print(info["sexs"])
    KeyError: 'sexs'
    

    ########1.1.3: 在我们不确定字典中是否存在某个键但是想获取取值时,可以使用get方法, 还可以设置默认值:

    info = {"name":"班长", "id":100, "sex":"male"}
    age = info.get("age")
    print(type(age)) #如果age不存在 所以age为none
    age = info.get("age", 19)
    print(age)
    
    <type 'NoneType'>
    19
    

    #######1.2: 修改元素
    字典的每个元素的数据都可以修改, 只要通过key找到, 就可以修改

    根据字典的key修改数据
    info = {"name":"班长", "id":100, "sex":"male"}
    info["name"] = 123
    print(info["name"])
    
    123
    

    #######1.3: 添加元素

    <a:> 访问不存在的元素, 默认方法会崩溃

    info = {"name":"班长", "id":100, "sex":"male"}
    print(info["age"])
    
    Traceback (most recent call last):
      File "4.py", line 4, in <module>
        print(info["age"])
    KeyError: 'age'
    

    <b:> 如果使用 **变量名[] = 数据时, 这个键在字典中, 存在就修改, 不存在就增加这个元素

    info = {"name":"up_tech", "id":100, "sex":"male"}
    info["age"] = 12
    print(info)
    
    {'age': 12, 'sex': 'male', 'name': 'up_tech', 'id': 100}
    

    #######1.4: 删除元素

    • 1: del 删除指定的元素
    • 2: clear()

    <a:> del删除字典某个元素

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info)
    del info["name"]
    print(info)
    
    {'age': '18', 'name': 'zhu', 'sex': 'male'}
    {'age': '18', 'sex': 'male'}
    

    <b:> del删除字典多个元素

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info)
    del info["name"], info["age"]
    print(info)
    
    {'age': '18', 'name': 'zhu', 'sex': 'male'}
    {'sex': 'male'}
    

    <c:> clear清空整个字典

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info)
    info.clear()
    print(info)
    
    {'age': '18', 'name': 'zhu', 'sex': 'male'}
    {}
    

    #######1.5: 字典的常见操作
    #########1.5.1: 字典的键值对的个数

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(len(info))
    
    3
    

    #########1.5.2: 返回一个包含字典所有Key的列表

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info.keys())
    
    ['age', 'name', 'sex']
    

    #########1.5.3: 返回一个包含字典所有Value的列表

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info.values())
    
    ['18', 'zhu', 'male']
    

    #########1.5.4: 返回一个包含所有(键, 值) 元组的列表

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info.items())
    
    [('age', '18'), ('name', 'zhu'), ('sex', 'male')]
    

    #########1.5.5: has_key("key"), 如果key在字典中,返回True, 否则返回False

    info = {"name":"zhu", "age":"18", "sex":"male"}
    print(info.has_key("name"))
    print(info.has_key("namex"))
    
    True
    False
    

    #######1.6: 字典的遍历
    通过for...in.. 的语法结构, 我们可以遍历字符串, 列表, 元组, 字典d等

    #########1.6.1: 遍历字典的key(键)

    <a: 方法一>
    info = {"name":"zhu", "age":"18", "sex":"male"}
    for key in info:
        print(key)
    age
    name
    sex
    
    <b: 方法二>
    info = {"name":"zhu", "age":"18", "sex":"male"}
    for key in info.keys():
        print(key)
    
    age
    name
    sex
    

    #########1.6.2: 遍历字典的value(值)

    info = {"name":"zhu", "age":"18", "sex":"male"}
    for value in info.values():
        print(value)
    
    18
    zhu
    male
    

    #########1.6.3: 遍历字典的项(元素)

    <a: 遍历字典的项(元素)  方法一>
    info = {"name":"zhu", "age":"18", "sex":"male"}
    for item in info.items():
        print(item)
    
    ('age', '18')
    ('name', 'zhu')
    ('sex', 'male')
    
    
    <b: 遍历字典的项(元素)  方法二>
    info = {"name":"zhu", "age":"18", "sex":"male"}
    for key,value in info.items():
        print(key, value)
    
    ('age', '18')
    ('name', 'zhu')
    ('sex', 'male')
    
    <c: 遍历字典的项(元素)  方法三>
    info = {"name":"zhu", "age":"18", "sex":"male"}
    for (index, key) in enumerate(info):
        print(index, key, info[key])
    
    (0, 'age', '18')
    (1, 'name', 'zhu')
    (2, 'sex', 'male')
    

    相关文章

      网友评论

          本文标题:Python(三)字典操作

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