字典dict

1.定义:

a = {‘q’:1, ‘w’:2 ,‘e’:3}
b = {‘z’:[1,0],‘x’:{‘n’:5,‘m’:6},‘c’:’?’}

2.取值

a = {'q':1, 'w':2 ,'e':3}
k = a.keys()
v = a.values()
t = a.items()
print(k,'\t',v,'\t',t)
print(list(k),'\t',list(v),'\t',list(t))

结果:
dict_keys([‘q’, ‘w’, ‘e’]) dict_values([1, 2, 3]) dict_items([(‘q’, 1), (‘w’, 2), (‘e’, 3)])
[‘q’, ‘w’, ‘e’] [1, 2, 3] [(‘q’, 1), (‘w’, 2), (‘e’, 3)]

3.计算

  • 取value的和
a = {'q':1, 'w':2 ,'e':3}
print(sum(a.values()))

结果:
6

  • 取最大值
a = {'q':1, 'w':2 ,'e':3}
print(max(a.values()))

结果:
3

a = {'q':1, 'w':2 ,'e':3}
print(min(a.values()))

结果:
1

赋值/修改

  • 修改value
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['z'] = 'o'
print(b)

结果:
{‘z’: ‘o’, ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}

b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['z'][1] = 1
print(b)

结果:
{‘z’: [1, 1], ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}

b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['x']['n'] = 'p'
print(b)

结果:
{‘z’: [1, 0], ‘x’: {‘n’: ‘p’, ‘m’: 6}, ‘c’: ‘?’}

b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['x'] = 'p'
print(b)

结果:
{‘z’: [1, 0], ‘x’: ‘p’, ‘c’: ‘?’}

  • 修改key(只能间接)
a = {'q':1, 'w':2 ,'e':3}
a['h'] = a.pop('q')
print(a)

结果
{‘w’: 2, ‘e’: 3, ‘h’: 1}

  • 增加键值对
a = {'q':1, 'w':2 ,'e':3}
a['r'] = 'g'
print(a)

结果:
{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘r’: ‘g’}

4.删除/清空

  • del
    • 删除整个字典
#删除整个字典
a = {'q':1, 'w':2 ,'e':3}
del a
print(a)

结果
name ‘a’ is not defined

  • 删除字典某一键值对
a = {'q':1, 'w':2 ,'e':3}
del a['q']
print(a)

{‘w’: 2, ‘e’: 3}

  • pop
a = {'q':1, 'w':2 ,'e':3}
a.pop('q')
print(a)

{‘w’: 2, ‘e’: 3}

  • popitem
a = {'q':1, 'w':2 ,'e':3}
a.popitem()
print(a)

{‘q’: 1, ‘w’: 2}

  • clear-清空
a = {'q':1, 'w':2 ,'e':3}
a.clear()
print(a)

{}

5.拼接(update)

无重复键则新增,又重复键则赋值

  • 无重复键
a = {'q':1, 'w':2 ,'e':3}
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
a.update(b)
print(a)

{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘z’: [1, 0], ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}

  • 有重复键
a = {'q':1, 'w':2 ,'e':3}
b = {'z':[1,0],'w':{'n':5,'m':6},'e':'?'}
a.update(b)
print(a)

{‘q’: 1, ‘w’: {‘n’: 5, ‘m’: 6}, ‘e’: ‘?’, ‘z’: [1, 0]}

6.自动生成字典

  • fromkeys
dict_a = {}
a = ['q','w','e']
dict_a = dict_a.fromkeys(a)
print(dict_a)

{‘q’: None, ‘w’: None, ‘e’: None}

  • zip()
a = ['q','w','e']
b = [1,2,3]
c = dict(zip(a,b))
print(c)

{‘q’: 1, ‘w’: 2, ‘e’: 3}

  • dict()
a = [('name','zhangsan'),('abc', 123)]
print(dict(a))

{‘name’: ‘zhangsan’, ‘abc’: 123}

7.查找值

  • get():不会新增键值对
a = {'q':1, 'w':2 ,'e':3}
print(a.get('q','无该key'))
print(a.get('l','无该key'))
print(a)

1
无该key
{‘q’: 1, ‘w’: 2, ‘e’: 3}

  • setdefault():无则新增
a = {'q':1, 'w':2 ,'e':3}
print(a.setdefault('q','无该key'))
print(a.setdefault('l','无该key'))
print(a)

1
无该key
{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘l’: ‘无该key’}

8.字典转列表

a = {'q':1, 'w':2 ,'e':3}

l = []
for k, v in a.items():
    l.append((v, k))
print(l)

[(1, ‘q’), (2, ‘w’), (3, ‘e’)]

9.排序

a = {'q': 7, 'w': 5,'e': 3}
print(sorted(a.items(), key=lambda x:x[1]))

[(‘e’, 3), (‘w’, 5), (‘q’, 7)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值