• python字典及相关操作


    1.字典

    1.1.字典特性

        字典是一种key-value的数据类型。key必须可hash,必须为不可变数据类型,且必须是唯一的;value可以存放任意多个值、可修改、可以不唯一;字典是无序的,通过key值来定位和查找。

    1.2.字典的创建

    (1)dic = {}  # 定义一个空字典
    (2)dic = {'张云':[24, 'design', 'UI', 2333], 'luozhi': [22, 'PR', 'wild model', 2345]}

    (3){}.fromkeys(seq,'Jake')   # 不指定'Jake'默认为None

    #  for example:

    dic={}.fromkeys(['k1','k2'],[])
    print(dic)
    
    {'k1': [], 'k2': []}
    

    键与值用冒号“:”分开;项与项用逗号“,”分开。

    2.字典常见操作

    2.1.打印字典中的元素

    print(dic['张云'])
    
    [24, 'design', 'UI', 2333]
    

    2.2.修改

    通过key值找到需要修改的内容,然后赋值

    dic['张云'][1] = "设计部"
    print(dic['张云'])
    
    [24, '设计部', 'UI', 2333]
    

    2.3.新增

    如果给一个字典中不存在的key赋值,则字典中会增加这个元素

    dic = {}
    dic['k3'] = 'v3'  # 新增
    print(dic)
    
    {'k3':'v3'}

    可以使用 ''.append() :

    dic['k1'].append(1)
    print(dic)
    
    {'k1': [1], 'k2': [1]}
    

    另一种新增方式: dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值.

    2.4.删除 (4种方式)

    dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"}

    dic.pop('k2')  # 删除k2

    dic.popitem()  # 随机删除

    del  dic['k1']  # 删除k1

    dic.clear()  # 清空字典,删除之后可以访问

    2.5. 查看

    (1)dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;

    (2)dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)

    2.6. 字典其他方法

    len(dic)  # 查字典dic中元素的个数

    dic.keys()  返回一个包含字典所有KEY的列表

    dic.values()  返回一个包含字典所有value的列表

    dic.items()  返回一个包含所有(键,值)的列表

    dic.iteritems()、dic.iterkeys()、dic.itervalues()   与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表

    dic.update(dic1)  将字典dic1的键值对添加到字典dic中更新dic,如果dic中存在与dic1相同的key值,则该key值对应的内容被dic1覆盖,如果没有就添加

    3. 遍历字典元素

    dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"}
    # 循环遍历出所有的key
    print("all keys:")
    for k in dic:
        print(k)
    
    # 循环遍历出所有value
    print("all values:")
    for v in dic:
        print(dic[v])
    
    # 循环打印所有key和value
    print("all keys and values:")
    for k in dic:
        print(k,dic[k])
    

      

     

  • 相关阅读:
    test1
    servlet的生命周期
    关与JdbcTemplate"的thread "main" org.springframework.jdbc.BadSqlGrammarException
    正则表达式
    @Autowired和@Resource的区别
    kubernetes安装
    docker相关
    KIBANA
    mysql在centos上安装
    MySql不错的文章
  • 原文地址:https://www.cnblogs.com/yanlin-10/p/8850592.html
Copyright © 2020-2023  润新知