zoukankan      html  css  js  c++  java
  • 五、python沉淀之路--字典

    一、

    1、根据序列,创建字典,并指定统一的值

    v = dict.fromkeys(["k1",1234,"999"],222)
    print(v)
    1 {'k1': 222, 1234: 222, '999': 222}

    2、根据key 获取值,key不存在时,报错;get方法,存在时返回对应值,不存在时返回后面代替值,不会报错

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 v= dic.get('k3',1111)
    6 print(v)
    1 1111

    3、pop:删除并返回值,如果不存在时,返回后面备用的值,不会报错

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 v1 = dic.pop('k3',90)
    6 print(dic,v1)
    7 v = dic.pop('k1',90)
    8 print(dic,v)
    1 {'k1': 'v1', 'k2': 'v2'} 90
    2 {'k2': 'v2'} v1

    4、popitem的用法:同时删除键和值

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 k,v = dic.popitem()
    6 print(k,v,dic)
    1 k2 v2 {'k1': 'v1'}

    5、setdefault的用法

    已存在,不设置,获取当前key对应的值
    不存在,设置,获取当前key对应的值

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 v = dic.setdefault('k111','123')
    6 print(dic,v)
    7 v1 = dic.setdefault('k1','123')
    8 print(dic,v1)
    1 {'k1': 'v1', 'k2': 'v2', 'k111': '123'} 123
    2 {'k1': 'v1', 'k2': 'v2', 'k111': '123'} v1

    6、update更新,有则更新,无则添加

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 dic.update({"k1":'111',"k2":'222',"k3":'333'})
    6 print(dic)
    7 dic.update(k1=99,k2=88,)
    8 print(dic)
    1 {'k1': '111', 'k2': '222', 'k3': '333'}
    2 {'k1': 99, 'k2': 88, 'k3': '333'}

    7、 keys()      values()      items()      get         update

    二、

    1、基本结构:键值对

    1 info = {
    2     "k1": "v1", # 键值对
    3     "k2": "v2"
    4 }

    2、字典的value可以值任意值。

     1 info = {
     2     "k1": 18,
     3     "k2": True,
     4     "k3": [
     5         11,
     6         [],
     7         (),
     8         22,
     9         33,
    10         {
    11             'kk1': 'vv1',
    12             'kk2': 'vv2',
    13             'kk3': (11,22),
    14         }
    15     ],
    16     "k4": (11,22,33,44)
    17 }

    3、字典:无序。通过多打印几次就可以看到,每次顺序不一样

    4、布尔值(1,0)【当key值中已经有0或1存在时】、列表、字典不能作为字典的key。

    1 info ={
    2     2: 'asdf',
    3     "k1": 'asdf',
    4     True: "123",
    5     # [11,22]: 123       列表可变,固不能作为key
    6     (11,22): 123,
    7     # {'k1':'v1'}: 123      字典可变,固不能作为key
    8 
    9 }

    5、字典可以通过索引key 键来找到对应的值

    6、字典支持del的方式来删除,

    1 dic = {
    2     "k1":'v1',
    3     "k2":'v2'
    4 }
    5 
    6 del dic["k1"]
    7 print(dic)
    1 {'k2': 'v2'}

    7、字典支持for循环,配合一起用的有: .keys()   .values()     .items()

     1 dic = {
     2     "k1":'v1',
     3     "k2":'v2',
     4     "k3":'v3'
     5 }
     6 
     7 for item in dic:
     8     print(item)
     9 for i in dic.keys():
    10     print(i)
    11 for n in dic.values():
    12     print(n)
    13 for k,v in dic.items():
    14     print(k,v)
     1 k1
     2 k2
     3 k3
     4 k1
     5 k2
     6 k3
     7 v1
     8 v2
     9 v3
    10 k1 v1
    11 k2 v2
    12 k3 v3

     补充:

    enumerate 的用法,以及与len    range   for  配合使用

    • enumerate()是python的内置函数
    • enumerate在字典上是枚举、列举的意思
    • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
    • enumerate多用于在for循环中得到计数
    1 li = ["","","",""]
    2 for n in range(len(li)):
    3     print(n)
    4 
    5 for index,item in enumerate(li):
    6     print(index,item)
    7 for index,item in enumerate(li,1):
    8     print(index,item
     1 0
     2 1
     3 2
     4 3
     5 0 我
     6 1 7 2 8 3 9 110 211 312 4 试
  • 相关阅读:
    R tips
    向量化与并行计算
    cf relevent R package
    一篇关于相似性解释的文章,写得非常的仔细
    lsa cosine R
    install lsa package for R on ubuntu 10.04 lts lucid
    updatealternatives error no alternatives for xulrunner1.9javaplugin.so 问题解决
    《如何在windows程序中读取bios内容》
    php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
    阿里云域名备案之如何填写真实性核验单
  • 原文地址:https://www.cnblogs.com/jianguo221/p/8942150.html
Copyright © 2011-2022 走看看