Python字典方法

字典也有方法,很有用,但其使用频率可能没有列表和字符串方法那样高。

1、clear 删除所有的字典项

d = {'key': 'value'}
d.clear()
print(d)


{}

2、copy 方法copy返回一个新字典,其包含的键值对与原来的字典相同(这各方法是浅复制,因为值本身是原件,而非副本)

x = {'username':'admin','machines': ['foo', 'bar', 'baz']}
y = x.copy()
y['username'] = 'mlh'
y['machines'].remove('bar')
print(x)
print(y)


{'machines': ['foo', 'baz'], 'username': 'admin'}
{'machines': ['foo', 'baz'], 'username': 'mlh'}

当替换副本中的值时,原字典不受影响,如果修改副本的值,原字典也随着改变,因为原字典指向的也是被修改的值

3、fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是None

d = dict.fromkeys(['name','age'])
print(d)
{'age': None, 'name': None}


d = dict.fromkeys(['name1','name2'],'chengzi')
print(d)
{'name1': 'chengzi', 'name2': 'chengzi'}

4、get 访问字典key,获取value,使用get访问不存在的key时,不会引发异常,返回None

d = {'name': 'chengzi','age':20}
print(d.get('class'))
print(d.get('name'))
None
chengzi

5、items 返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式,字典在列表中的排列顺序不确定。返回值属于一种名为字典视图的特殊类型,可用于迭代。

d = {'name': 'chengzi','age':20}
print(d.items())
for key,value in d.items():
    print(key,value)
 
dict_items([('name', 'chengzi'), ('age', 20)])
name chengzi
age 20

6、keys 返回一个字典视图,包含字典中的所有key,可用于迭代

d = {'name': 'chengzi','age':20}
print(d.keys())
for key in d.keys():
    print(key)
dict_keys(['age', 'name'])
age
name

7、pop 获取指定key对应的value,并将该key和value从字典中删除

d = {'name': 'chengzi','age':20}
print(d.pop('name'))
print(d)


chengzi
{'age': 20}

8、setdefault 有点像get,如果指定的key存在,返回对应的value,指定的key不存在,将key和value添加更新到字典里

d = {'name': 'chengzi','age':20}
print(d.setdefault('name'))
print(d.setdefault('city','上海'))
print(d)


chengzi
上海
{'age': 20, 'name': 'chengzi', 'city': '上海'}

9、update 使一个字典中的key和value更新另一个字典,对于通过参数提供的字典,将其key和value添加到当前字典中;如果当前字典包含相同的key,就更新替换它的value

d1 = {'name': 'chengzi','age':20}
d2={'city':'上海'}
d3={'age':30}
print(d1.update(d2))
print(d1)
print(d1.update(d3))
print(d1)


None
{'city': '上海', 'name': 'chengzi', 'age': 20}
None
{'city': '上海', 'name': 'chengzi', 'age': 30}

10、values 返回一个由字典中的值组成的字典视图,不同于方法keys,方法values返回的视图可能包含重复的值

d = {'name': 'chengzi','age':20}
print(d.values())
for value in d.values():
    print(value)
dict_values(['chengzi', 20])
chengzi
20

9a57fc10cd52879386f31e8ba0443981.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王大力测试进阶之路

打赏博主喝瓶水吧!!!

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

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

打赏作者

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

抵扣说明:

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

余额充值