zoukankan      html  css  js  c++  java
  • Python:基础数据类型--字典

    基础数据类型--字典

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    键必须是唯一的,但值则不必。

    d = {key1 : value1, key2 : value2 }

    字典:增

    dic = {'name': '老男孩','age': 10000, 'sex': ''}
    dic['hobby'] = 'old_girl'                  # 有key则修改,无则增加
    dic['name'] = 'alex'
    print(dic)
    
    {'name': 'alex', 'age': 10000, 'sex': '', 'hobby': 'old_girl'}

    setdefault()  有则不修改,无则增加。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic.setdefault('sex','女')                 # 有key则不修改,无则增加
    print(dic) {'name': '老男孩', 'age': 10000, 'sex': ''}

    字典:删

    pop()  按照key删除元素,并返回删除的元素。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    print(dic.pop('name'))            # 删除key为name的元素,并将其返回。

    dic.pop('name1',None) # 删除没有的key,未避免报错,可以设置默认返回值。 print(dic) 老男孩 {'age': 10000, 'sex': ''}

    popitem()   在python3.6之前为随机删除字典中的一个元素,python3.6则是删除字典中最后一个元素。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    print(dic.popitem())
    print(dic)
    
    ('sex', '')
    {'name': '老男孩', 'age': 10000}

    clear()  清空字典。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic.clear()
    print(dic)
    
    {}

    del  1,删除整个字典。2,按照键去删除键值对。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    del dic['name']
    print(dic)
    del dic                  # 删除整个字典 print(dic) {'age': 10000, 'sex': ''} NameError: name 'dic' is not defined

    字典:改

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic['name'] = 'alex'                  # 无责增加,有责修改。
    print(dic)
    
    {'name': 'alex', 'age': 10000, 'sex': ''}
    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic = {"name": "jin", "age": 18,"sex": "male"}
    dic2 = {"name": "alex", "weight": 75}
    dic2.update(dic)             # 将dic里面的键值对覆盖并更新到dic2中,dic不变 。
    print(dic)                 # {'name': 'jin', 'age': 18, 'sex': 'male'}
    print(dic2)                # {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
    
    {'name': 'jin', 'age': 18, 'sex': 'male'}
    {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}

    列表:查

    get()  查找时如果没有此key 不会报错。

    dic = {"name": "jin", "age": 18,"sex": "male"}          
    print(dic['name1'])          
    print(dic.get('name1','没有此键...')) #设置查询key不存在时,的返回值
    
    jin
    没有此键...

    keys()  返回字典中的所有key

    dic = {"name": "jin", "age": 18,"sex": "male"}
    for i in dic.keys():
        print(i)
    
    name
    age
    sex

    values()  返回字典中的所有值

    dic = {"name": "jin", "age": 18,"sex": "male"}
    print(dic.values())
    
    dict_values(['jin', 18, 'male'])

    items()    返回可遍历的键, 值对

    dic = {"name": "jin", "age": 18,"sex": "male"}
    for k, v in dic.items():
        print(k, v)
    
    name jin
    age 18
    sex male

    坑: 再循环一个字典时,不要改变字典的大小,这样会影响结果。

    dic = {'k1': 'v1', 'k2': 'v2', 'k3':'v3', 'name':'alex'}
    for k in dic:
        if 'k' in k:
            dic.pop(k)
            
    RuntimeError: dictionary changed size during iteration
  • 相关阅读:
    jython resources
    Installing a Library of Jython ScriptsPart of the WebSphere Application Server v7.x Administration Series Series
    jython好资料
    ulipad install on 64bit win7 has issue
    an oracle article in high level to descibe how to archtichre operator JAVA relevet project
    table的宽度,单元格内换行问题
    Linux常用命令大全
    dedecms系统后台登陆提示用户名密码不存在
    登录织梦后台提示用户名不存在的解决方法介绍
    Shell常用命令整理
  • 原文地址:https://www.cnblogs.com/bailo/p/9032976.html
Copyright © 2011-2022 走看看