第七章 字典和集合

字典基础

  1. 字典 dictionary 是一种可变容器类型,可以保存任意类型对象
  2. 在 python 中,字典用 { } 来定义
  3. 使用dict()可以定义一个空字典
  4. 字典中的元素以键值对 key - value 的方式存储
  5. d = {key1:value1,key2:value2}
  6. 字典中的 键 必须是唯一的不能重复
  7. 字典中的 键 必须是不可变类型(字符串、数值),value 是可变类型(列表……)
  8. 字典可以进行增删改查
  9. pop 删除,clear 清空,get / setdefault 查找,update 同时增加多个元素
  10. v = d.pop('key',-1):(不是-1也可以)如果key存在于d中,就删除key,并把key对应的值赋给v;如果key不存在于d中,就把-1赋值给v
  11. get 在查找一个不存在的值时,直接把-1赋值给value,setdefault在查找一个不存在的值时,会把这个key和-1(其它值也可以)加到字典中
  12. len 获取字典长度,str 把字典转换为字符串,in / not in 判断指定的 key 是否包含在字典中
  13. 字典中的元素是无序的
d = {'北京':22,'上海':24}
# 查
print(d['北京'])
tem = d.get('上海',-1)
print(tem)
tem = d.get('天津',-1)
print(tem)
tem = d.setdefault('上海',-1)
print(tem)
tem = d.setdefault('天津',5)
print(tem)
# 改
d['北京'] = 20
print(d['北京'])
# 增
d['广州'] = 23
print(d)
d.update({'深圳':22,'天津':21})
print(d)
# 删
d.pop('北京')
print(d)
v = d.pop('天津')
print(v,d)
v = d.pop('阿拉伯',-3)
print(v,d)
v = d.pop('广州',-1)
print(v,d)
d.clear()
print(d)


##     output     ##
##  22
##  24
##  -1
##  24
##  5
##  20
##  {'北京': 20, '上海': 24, '天津': 5, '广州': 23}
##  {'北京': 20, '上海': 24, '天津': 21, '广州': 23, '深圳': 22}
##  {'上海': 24, '天津': 21, '广州': 23, '深圳': 22}
##  21 {'上海': 24, '广州': 23, '深圳': 22}
##  -3 {'上海': 24, '广州': 23, '深圳': 22}

字典遍历

  1. 字典也是可迭代(允许每次只获取一个元素)对象,可以使用 for 遍历
  2. 直接对字典进行遍历,获取的是 key
  3. for i in d:                         获取的是 key       
  4. for k in d.keys():             获取的是 key
  5. for v in d.values():          获取的是 value
  6. for k,v in d.items():         获取的是 key 和 value
  7. l = list(d.keys())              将所有的key保存成一个列表
  8. l = list(d.values())           将所有的value保存成一个列表
  9. 字典可以嵌套使用,value可以是字典
s = dict(a=1,b=2,c=3)
print(s)
# {'a': 1, 'b': 2, 'c': 3}
for i in s:
    print(f'key = {i}, value = {s[i]}')
# key = a, value = 1
# key = b, value = 2
# key = c, value = 3
for i in s.keys():
    print(f'key = {i}, value = {s[i]}')
# key = a, value = 1
# key = b, value = 2
# key = c, value = 3
for i in s.values():
    print(f'value = {i}')
# value = 1
# value = 2
# value = 3
for k,v in s.items():
    print(f'key = {k}, value = {v}')
# key = a, value = 1
# key = b, value = 2
# key = c, value = 3
l = list(s.keys())
print(l)
# ['a', 'b', 'c']
t = tuple(s.values())
print(t)
# (1, 2, 3)
if 'b' in s:
    print('Yes')
# Yes
if 3 in s.values():
    print('Yes')
# Yes
s = dict(a = [1,2,3],b={'1':100,'2':200},c = 3)
print(s['b']['1'])
# 100
print(s['a'][0])
# 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值