【Python】dict类方法汇总

注意字典中的元素是无序

1 get() 根据key获取对应的值,key不存在默认取None

v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}

val = v.get('k1')
val2 =v.get('klffff','9999')    #如果key不存在,则将设置为默认值,另默认值为None
val3 =v.get('k3333')
print(val)
print(val2)
print(val3)
v1
9999
None

2 下面的方法是可与for循环一起使用

val=v.keys()
print(val)

val=v.values()
print(val)

val=v.items()
print(val)
dict_keys(['k1', 'k2'])
dict_values(['v1', 'v2'])
dict_items([('k1', 'v1'), ('k2', 'v2')])

3 dict 类中的公共方法
(1)取长度
(2)根据索引修改,取值,删除值
(3)for循环
- for a in v.keys()
- for a in v.values():
- for a,b in v.items():

# v = {
#     "k1":'v1', # 键值对
#     "k2":'v2', # 键值对
# }

# 1. 获取字典长度(键值对的个数)
# val = len(v)
# print(val)

# 2. 索引
# - 获取
# val = v['k1']               # k1不存在会报错,v.get('k1') 也能取值,且不会报错
# print(val)

# -设置
# key存在,则更新值
# key不存在,则创建键值对
# v['kk1'] = 666

# - 删除
# del v['k1']

# 3. for循环
# v = {
#     "k1":'v1', # 键值对
#     "k2":'v2', # 键值对
# }
#
# for i in v:
#     print(i)
# for i in v.keys():
#     print(i)

# for i in v.values():
#     print(i)


# key,value
# for i in v.keys():
#     print(i,v[i]) # "k1"
# for a,b in v.items():
#     print(a,b)

4 dict中的补充方法
(1)copy() deepcopy() 深浅拷贝

dic1 = {
    'k1': 'v1',
    'k2': [11,22,33,44]
}
dic2 = dic1.copy()
print(dic1,dic2)
dic1['k2'].append(666)
print(dic1,dic2)

dic1 = {
    'k1': 'v1',
    'k2': [11,22,33,44]
}
import copy
dic2 = copy.deepcopy(dic1)
print(dic1,dic2)
dic1['k2'].append(666)
print(dic1,dic2)
{'k1': 'v1', 'k2': [11, 22, 33, 44]} {'k1': 'v1', 'k2': [11, 22, 33, 44]}
{'k1': 'v1', 'k2': [11, 22, 33, 44, 666]} {'k1': 'v1', 'k2': [11, 22, 33, 44, 666]}
{'k1': 'v1', 'k2': [11, 22, 33, 44]} {'k1': 'v1', 'k2': [11, 22, 33, 44]}
{'k1': 'v1', 'k2': [11, 22, 33, 44, 666]} {'k1': 'v1', 'k2': [11, 22, 33, 44]}

(2)pop() 删除指定key 的键值对

dic = {'k1':'v1','k2':'v2'}
v = dic.pop('k23','默认值')   #删除不存在字典中的key则为默认值,与list中pop方法类似
print(dic)
print(v)
{'k1': 'v1', 'k2': 'v2'}
默认值

(3)popitem() 注意字典无序,随机删除一个

dic = {'k1':'v1','k2':'v2'}
v1,v2 = dic.popitem()
print(dic)
print(v1,v2)
{'k1': 'v1'}
k2 v2

(4)setdefault()

dic = {'k1':'v1','k2':'v2'}
#添加
dic.setdefault('k2','999')
print(dic)
#设置:添加,修改,第二种方法
dic['k2'] = 999 
{'k1': 'v1', 'k2': 'v2'}

(5)update() 更新字典中的值

dic = {'k1':'v1','k2':'v2'} # dict类的一个对象
dic.update({'k4':'v4','k2':'v5'})
print(dic)
'k1': 'v1', 'k2': 'v5', 'k4': 'v4'}

(6)fromkeys() 生成一个字典,不同的key中指向同一个地址

val = dict.fromkeys(['k1','k2','k3'],666)
print(val)
val['k1'] = 999
print(val)

val = dict.fromkeys(['k1','k2','k3'],[])
val['k1'].append(678)
val['k2'].append(999)
print(val)

val = dict.fromkeys(['k1','k2','k3'],[])
val['k1'].append(666)
val['k1'] = [1,2,3]
print(val)
{'k1': 666, 'k2': 666, 'k3': 666}
{'k1': 999, 'k2': 666, 'k3': 666}
{'k1': [678, 999], 'k2': [678, 999], 'k3': [678, 999]}
{'k1': [1, 2, 3], 'k2': [666], 'k3': [666]}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值