zoukankan      html  css  js  c++  java
  • 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])
    

      

     

  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/yanlin-10/p/8850592.html
Copyright © 2011-2022 走看看