python学习笔记:数据类型之字典(dictionary)

  • 字典是一种可变容器模型,且可存储任意类型对象。
  • 字典由键值(对)构成,格式如:{ key1:value1, key2:value2......}
  • 键:唯一的,即key:value1和key: value2不可能同时存在
  • 键:必须是不可变的,如:字符串,数字或元组,不能是list等类型
  • 值: 可以取任何数据类型

一、创建字典

一般两种方法:

     (1)方法1:使用python标准函数dict()

     (2)方法2:直接用 { }

 1. 创建空字典

d1=dict()
d2={}

 2. 创建非空字典

pairs=[("cat",5),("cow",98),("dog",12)]
d1=dict(pairs)    #output:{"cat":5,"cow":98,"dog":12}

d2={"cat":10,"cow":100,"dog":9}

二、字典操作

2.1. 单个字典的操作

  1. len(d):返回字典d的键值对数
  2. d.copy():创建字典d的浅拷贝
  3. d.clear():删除字典d的全部键值对
  4. for key in d:遍历字典d中的全部键
  5. for value in d.values():遍历字典d中的全部值
  6. for entry in d.items():遍历字典d中的全部条目(输出为元祖的形式)
d1={1:[1,2,3,4,5],2:"abdefg"}
print(lend(d))              #output: 2

d2={1:"a"}
d3=d2.copy(d2)
d2[2]="b"
print(d2)                   #output:2
print(d3)                   #output:1


d2.clear()                  #now d2 is an empty dictionary

d={1:"a",2:"b"}
for key in d:
    print(key,d[key])       #output: 1 "a"   2 "b"
for value in d.values():
    print(value)            #output:"a"  "b"
for entry in d.items():
    print(entry)            #output: (1,"a")   (2,"b")

2.2 字典和键的操作

  1. key in d:判断字典d中是否有键为key
  2. key  not in d:判断字典d中是否没有键为key
  3. d[key]:返回字典d中键为key的值,若键为key不存在引发KeyError
  4. d[key]=value:对字典d赋值key-value键值对,若key已存在,则修改其值为value,若不存在,添加键值对
  5. d.get( key [,default] ):获取字典d中键为key的值,若key键不存在,则返回default值,若default未定义,此时返回None
  6. del d[key]:删除字典d中键为key的键值,若key不存在,引发KeyError
  7. d.pop(key,[default]):删除字典d中键为key的值,若key不存在,返回default值,若default未定义,此时返回None
  8. min(d, key=d.get)或max(d, key=d.get):获取字典d中值最小/大的键,若d为空字典,引发ValueError
d = { 1:"a", 2:"b" }
print(0 in d)         # False
print(1 in d)         # True
print("a" in d)       # False

print(0 not in d)     # True
print(1 not in d)     # False
print("a" not in d)   # True

print(d[1])           # "a"
print(d[3])           # crash! KeyError

d = { 1:"a", 2:"b" }
d[1]=42
print(d[1])           # 42

d = { 1:"a", 2:"b" }
print(d.get(1))       # "a"
print(d.get(1,42))    # "a"
print(d.get(0))       #None
print(d.get(0,42))    #42

d = { 1:"a", 2:"b" }
print( 1 in d)        #True
del d[1]
print( 1 in d)        #False
del d[1]              #crash! KeyError

2.3  两个字典的操作

  1. d1.update(d2):更新字典d1,将字典d2中的键值对添加到字典d1中。如果字典d1中的某些键也在字典d2中,则字典d1中这些键的值修改为字典d2中这些键的值
d1 = { 1:"a", 2:"b" }
d2 = { 2:"c", 3:"d" }
d1.update(d2)     
d2[4] = "e"
print(d1)              # {1:"a",2:"c",3:"d"}
print(d2)              # {2:"c",3:"d",4:"e"}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值