python 字典内置函数,Python26之字典2(内置函数)

一、工厂函数的概念

和序列类型的工厂函数一样,dict()也是一个工厂函数,本质上是一个类,Python程序无处不对象的概念可见一斑

二、字典类型内置函数的用法

1、fromkeys(iterable,value=None)创建并返回一个新的字典。其中第一个参数是可迭代对象(序列类型),第二个参数是value值,当第二个参数不提供时,则默认为None

3350b879e51a2d3a4ab06ea2e0854724.gif

5c953341f0166a24adb5872919d817e9.gif

1 dict1 =dict()2 dict2 = dict1.fromkeys((1,2,3),'kst')3 dict24 {1: 'kst', 2: 'kst', 3: 'kst'}5 dict3 = dict1.fromkeys((1,2,3,4))6 dict37 {1: None, 2: None, 3: None, 4: None}8 dict4 = dict2.fromkeys((1,2,3,4,5),'詹姆斯')9 dict410 {1: '詹姆斯', 2: '詹姆斯', 3: '詹姆斯', 4: '詹姆斯', 5: '詹姆斯'}

View Code

2、访问字典的内置函数

访问字典的内置函数,主要就是访问字典的key和字典的value,这两者访问方法分别为keys()和values()

3350b879e51a2d3a4ab06ea2e0854724.gif

5c953341f0166a24adb5872919d817e9.gif

1 dict42 {1: '詹姆斯', 2: '詹姆斯', 3: '詹姆斯', 4: '詹姆斯', 5: '詹姆斯'}3 >>>dict4.keys()4 dict_keys([1, 2, 3, 4, 5])5 >>> for eachkey indict4.keys():6 print(eachkey)7

8 1

9 2

10 3

11 4

12 5

13

14 >>>dict4.values()15 dict_values(['詹姆斯', '詹姆斯', '詹姆斯', '詹姆斯', '詹姆斯'])16 >>> for eachvalue indict4.values():17 print(eachvalue)18

19 詹姆斯20 詹姆斯21 詹姆斯22 詹姆斯23 詹姆斯

View Code

3、get(k,d)通过key返回对应的value值,第一个参数为key值,第二个参数为默认返回的value值,当key存在则返回对应的value,不存在字典内则返回d,如果不提供则默认返回None

3350b879e51a2d3a4ab06ea2e0854724.gif

5c953341f0166a24adb5872919d817e9.gif

1 dict1 = {0:'232',2:'fdas',3:'fd'}2 >>>dict13 {0: '232', 2: 'fdas', 3: 'fd'}4 >>> dict1.get(3,'木有')5 'fd'

6 >>> dict1.get(1,'木有')7 '木有'

View Code

4、清空一个字典clear()和复制一个字典copy()

注:copy()和赋值是不同概念,copy()时创建新的对象,其值复制到一个新的内存地址中,赋值是将值赋予新的符号,值的内存地址没有发生改变

5、去除字典的某个元素(使用内置函数pop())

pop(k,d)   当k存在于字典的key中时,则去除该k对应的key和value值,否则返回d(提示信息),当d未提供时返回错误

类似的还有popitem()

6、给字典增加一个item(使用setdefault(k,d))  返回k对应的value值,当k不存在时返回对应的d的值,如果d没有提供则返回空(None),如果k不存在于字典内时,将d作为value映射给k

3350b879e51a2d3a4ab06ea2e0854724.gif

5c953341f0166a24adb5872919d817e9.gif

1 dict12 {0: '232', 2: 'fdas', 3: 'fd'}3 >>>

4 >>> dict1.setdefault(1)5 >>>dict16 {0: '232', 2: 'fdas', 3: 'fd', 1: None}7 >>> dict1.setdefault(1,'詹姆斯')8 >>>dict19 {0: '232', 2: 'fdas', 3: 'fd', 1: None}10 >>> dict1.setdefault(4,'詹姆斯')11 '詹姆斯'

View Code

内容来源于网络如有侵权请私信删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值