Python学习笔记(五)

一、dict简介

  dict 全称为dictionary,也即字典的意思
  dict 使用键值对key-value的形式存储
  dict 具有极快的查找速度


二、dict 创建

  dict = {} 
  dict = {"name1":"CQ1","name2":"CQ2","name3":"CQ3"}


三、dict 查看

  dict[key]  #通过指定键值对中的键可以获取其对应的值,但如果键值对中的键不存在,则会报错
  key in dict #可以通过此方式验证字典中是否存在键key
  dict.get(key) #可以通过此验证列表中是否存在键key,如不存在则返回None
  dict.get(key,-1) #可以通过此验证列表中是否存在键key,如不存在则返回指定的值-1


四、dict 修改

  dict[key] = newValue


五、dict 删除

  del dict[key] #删除字典中的一对键值对
  del dict #删除整个字典元素
  dict.pop(key) #删除字典中的元素
  dict.clear() #清空字典中的元素
  popitem() #随机返回并删除字典中的一对键值对


六、创建带有初始值的字典

  dict.fromkeys([key1,key2,key3...],0)  #注意,这里必须接收返回值


七、获取字典中所有的键和值

  dict.keys()
  dict.values()


八、获取字典中所有的键值对

  dict.items() #以列表返回可遍历的(键,值)元组数组


九、更新字典中的值

  dict.update(dict2) #将dict2中的键值对更新到dict中,如果dict中没有dict2中的键,那么也将直接添加进dict中


十、字典的拷贝

  dict = dict1.copy() #这里将发生浅拷贝,与直接赋值是不同的,直接赋值是对父对象的引用,而浅拷贝是深拷贝一级目录的值,持有对二级目录的引用。


十一、dict与list的比较

  dict查找和插入,dict比较快,不会随着key的增多而变慢,但dict需要占用大量的内存
  list查找和插入所需要的时间睡着元素的增加而增加,但占用空间少,内存浪费少


十二、dict的key要求

  dict 中对于key必须是不可变对象,即字符串或者整数等


十三、dict 遍历

  for key,value in dict.items():
    print("key=",key,"value=",value)
  
  for key in dict:
    print("key=",key,"value=",dict.get(key))

  
  两种遍历方法的比较:第一种方法可以直接获取键值对,但每次都需要进行items(),所以执行效率相较第二种方法要慢


十四、set 简介

  set 是一组key的集合,但这些key是不重复的
  set 可以看做是数学中的集合的概念,其内部是无序的,不重复的


十五、set 创建

  list = [1,2,3,4,5]
  set = set(list) #创建set需要为其提供一个lsit作为创建的数据源


十六、添加元素

  set.add(key)


十七:删除元素

  set.remove(key)


十八、数学操作

  交集:set1 & set2
  并集:set1 | set2


  

  

原文地址:https://www.cnblogs.com/userchencq/p/7527571.html