python字典

字典  dict

  什么是字典:
    字典是一种可变的容器,可以存储任意类型的数据
    字典中的每一个数据都是用'键'进行索引的,而不像序列可以用下标(index)来进行索引
    字典中的数据没有先后顺序关系,字典的存储是无序的
    字典中的数据以键(key)-值(value)对的形式进行映射存储
    字典的键不能重复,具只能用“不可变类型”作为字典的键
字典的字面值的表示方式:
  字典的表示方式以{}括起来,以冒号(:)分隔键-值对 ,
  各键-值对之间用逗号分割开




创建空字典:
  d= {}   #d绑定空字典
创建非空字典:
  d = {'name':tarena,'age':16 }
  d = {'year':2018,'month':4,'day':1}


字典的构造函数:
  dict()  生成一个空字典,等同于{}
  dict(iterable) 用可迭代对象初始化一个字典
  dict(**kwargs) 用命名关键字传参形式生成一个字典



示例:
  d = dict()
  d = dict([('name','tarena'),('age',15)])
  d = dict(name='tarena',age=15)


字典的键为不可变类型:
  bool,int,float,complex,str,tuplle,frozenset(固定集合),bytes(字节串)(后面会讲)
  包括:None
可变的类型(不能充当字典的键)
  list, dict, set(集合),bytearray(字节数组)(后面再讲)


字典的基本操作:
  键索引:
    语法:
      字典[键]
    示例:
      >>>d= {'name':tarena,'age':15}
      >>>d['name']
      'tarena'      
      >>>d['age']
      15
添加/修改字典元素
  字典[键] = 值对象
  示例:
    d={}
    d=['birthday'] = (2002,1,1) #添加键值对
    d['age'] = 16 #添加
    d['age'] = 17 #修改'age'键所对应的值
删除字典元素del语句
  语法:
    del字典[键]
  示例:
    d={'name':'tarena','age':16}

    del d['age']   #删除'age'这个键

字典的成员资格判断 in / not in运算符
  用in 运算符可以判断一个键是否存在于字典中,如果存在则返回True,否则返回Fasle
  not in 返回值于 in 相反
  示例:
    d = {1:"一",2:"二"}
    1 in d      #True
    2 in d      #True
    2 not in d  #Fasle
    8 not in d  #True
    8 in d      #Fasle

    '一' in d   #Fasle

字典的迭代访问:
  容器是可迭代对象,字典只能对键进行迭代访问
  d = {'name':'小张','birthday':(2008,8,8)}
  for k in d:
      print(k)  #name   birthday 
      print('键:',k,'值:',d[k]) 


  可以用于字典的內键(built - in)函数:
    len(x)  返回字典的键值对的个数
    max(x)  返回字典的键的最大值
    min(x)  返回字典的键的最小值
    sum(x)  返回字典的所有键的和
    any(x)  对所有键进行真值测试,有一个为True结果为True
    all(x)  对所有键进行真值测试,所有为True才为True

  字典的方法:
    见:

      >>>help(dict)

D代表字典对象
    D.clear() 清空字典
    D.pop(key) 移除键,同时返回此键所对应的值
    D.copy() 返回字典D的副本,只复制一层(浅拷贝)
    D.update(D2) 将字典 D2 合并到D中,如果键相同,则此键的值取D2的值作为新值
    D.get(key, default) 返回键key所对应的值,如果没有此键,则返回default
    D.keys() 返回可迭代的 dict_keys 集合对象
    D.values() 返回可迭代的 dict_values 值对象

    D.items() 返回可迭代的 dict_items 对象

字典推导式的嵌套:
  语法同列表推导式嵌套
字典 VS 列表
  1、都是可变对象
  2、索引方式不同,列表用整数索引,字典用键索引
  3、字典的查找速度可能会快于列表(重要)

  4、列表的存储是有序的,字典的存储是无序的


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

python字典

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭