zoukankan      html  css  js  c++  java
  • 字典的介绍

    # 字典的value可以是任何值
    info = {
      'k1': 'v1', # 键值对
      'k2': 123,
      'k3':True,
      'k4':[
        1,
        '2',
        False,
        [11, 22,33]
      ],
      'k5':(1, '2',),
      'k6':{
        'kk1':'vv1',
        'kk2':'vv2',
        'kk3':[
          1,
          2,
          '3'
        ]
      }
    }
    
     
    
    # 字典的key值,以哈希值进行存放,不能作为key值的有列表和字典;kye值有重复的,只显示一个键值对;
    info1 = {
      2:'2',
      'k':'v',
      True:'3',
      #[1, 2, 3]:'111',
      (4, 5, 6):[1, 2, 3],
      #{'k1':'v1'}:{'k2':'v2'}
    }
    print(info1)
    
     
    
    # 字典是无序的,python对其进行了优化,所以目前的输出结果来看是有序
    info2 = {
      'k1':'v1',
      'k3':'v3',
      'k2':'v2'
    }
    print(info2)
    
     
    
    # 取指定的value值,当key值不存在时报错;del删除指定的键值对
    info3 = {
      2:'2',
      'k':'v',
      True:'3',
      (4, 5, 6):[1, 2, 3],
    }
    print(info3[(4, 5, 6)])
    del info3[True]
    print(info3)
     
    
    # for循环,可循环key值和value值及键值对,for循环默认是对key值的循环;
    info4 = {
      'k1': 'v1',
      'k2': 123,
      'k3':True,
      'k4':[
        1,
        '2',
        False,
        [11, 22,33]
      ],
      'k5':(1, '2',),
      'k6':{
    
        'kk1':'vv1',
        'kk2':'vv2',
        'kk3':[
          1,
          2,
          '3'
        ]
      }
    }
    for key in info4.keys():
      print(key)
    for value in info4.values():
      print(value)
    for a, b in info4.items():
      print(a, b)
    
     
    # clear()清空
    d1 = {
      'k1':'v1',
      'k2':12
    }
    d1.clear()
    print(d1)
    
     
    
    # copy()复制
    d2 = {
      'k1':'v1',
      'k2':12
    }
    d3 = d2.copy()
    print(d3)
    
     
    
    # fromkeys()根据序列,创建字典,并指定统一的值
    d4 = dict.fromkeys(['k1', 2, '3'], [123, 234])
    print(d4)
    
    
    # get()获取value值,当key值不存在时默认返回None,带入第二个参数,key值不存在那么返回第二个参数,存在则返回key值对应value值;
    d5 = {
      'k1':'v1',
      'k2':12
    }
    print(d5.get('k11', '不存在'))
    
     
    
    # pop()删除指定key值键值对并返回删除的value值;key不存在报错,如果带上第二个参数,那么返回值为第二个参数且不报错;
    d6 = {
      'k1':'v1',
      'k2':12
    }
    v = d6.pop('k11', '不存在')
    print(d6, v)
    
     
    
    # popitem()随机删除字典的键值对并返回key和value;
    d7 = {
      'k1':'v1',
      'k2':12
    }
    k, v1 = d7.popitem()
    print(d7, k, v1)
    
    
    # setdefault()设置值且返回value值,如果设置的key值重复,那么设置无效且返回之前key对应的value值;
    d8 = {
      'k1':'v1',
      'k2':12
    }
    xx = d8.setdefault('k3', True)
    print(d8, xx)
    
    
    # update()更新
    d9 = {
      'k1':'v1',
      'k2':12
    }
    d9.update({'k3':13})
    d10 = {
      'k2':13,
      'k3':14,
    }
    d9.update(d10)
    print(d9)
    
     
    # print(),sep默认是空格,也就是print有多个值时以逗号分开,那么打印以空格分割;end默认是
    换行
    
    # enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    print(list(enumerate(seasons, start=1)))
    
    
    for i, element in enumerate(seasons):
      print(i, element)
    while True: print('studying...')
  • 相关阅读:
    linux   截取时间段的日志
    Linux 通过 shell 脚本修改密码
    Centos7下安装netstat
    正文字体大小:大 中 小 解决configure: error: Cannot find libmysqlclient under /usr
    隐藏index.php
    编译安装php Cannot find MySQL header files under /usr/include/mysql.
    解决问题 “You don't have permission to access /index.html on this server.”
    Linux Samba服务器配置
    PHP curl传输文件的版本兼容性
    消息队列feed程序实现中的问题
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14391610.html
Copyright © 2011-2022 走看看