我是靠谱客的博主 冷静雪糕,这篇文章主要介绍023 Python初学笔记--字典:字典的内置函数和内置方法的使用和举例一、字典:字典是python中唯一的映射类型。二、用python的工厂函数(dict函数)创建字典 三、字典中的内置函数和方法:,现在分享给大家,希望可以做个参考。

一、字典:字典是python中唯一的映射类型。

  1. 简单的创建字典:变量名={key1:value1,key2=values,...}

  2. 访问字典相应的键所对应的值:字典变量名[key]

  3. 修改字典中相应的键对应的值:字典变量名[key]=value,若修改的键不存在,则将其键值加入字典中

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>>> #创建空字典 >>> dict1={} >>> #创建字典:字典变量名={key1:value1,key2:value2,...} >>> dict2={1:'one','李宁':'一切皆有可能'} >>> #访问字典中的键所对应的值 >>> dict2['李宁'] '一切皆有可能' >>> #修改字典中的键值 >>> dict2[1]='hello' >>> #当字典中所对应的键不存在时 >>> dict2['特步']='永不止步' >>> dict2 {1: 'hello', '李宁': '一切皆有可能', '特步': '永不止步'}

二、用python的工厂函数(dict函数)创建字典 

函数

功能用法英文解释
dict()创建空字典dict()new empty dictionary
dict(mapping)通过映射方式创建字典dict(((key1,value),(key2,value)...))或dict(zip([key1,key2...],[value1,value2...]))new dictionary initialized from a mapping object's (key, value) pairs
dict(iterable)通过可迭代对象的方式创建字典dict([(key1,value1),(key2,value2)...])new dictionary initialized as if via:
      d = {}
      for k, v in iterable:
          d[k] = v
dict(**kwargs)通过传入关键字的方式创建字典dict(key1=value1,key2=value2...)

new dictionary initialized with the name=value pairs in the keyword argument list.  For example:  dict(one=1, two=2)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> #创建空字典:dict() >>> dict() {} >>> #通过映射方式创建字典1:dict(((key1,value),(key2,value)...)) >>> dict(((1,'one'),(2,'two'),(3,'three'))) {1: 'one', 2: 'two', 3: 'three'} >>> #通过映射方式创建字典2:dict(zip([key1,key2...],[value1,value2...])) >>> dict(zip(['a','b','c'],['A','B','C'])) {'a': 'A', 'c': 'C', 'b': 'B'} >>> #通过可迭代对象的方式创建字典:dict([(key1,value1),(key2,value2)...]) >>> dict([('I','love you'),('you','handsom'),('he','haha')]) {'I': 'love you', 'you': 'handsom', 'he': 'haha'} >>> #通过传入关键字的方式创建字典:dict(key1=value1,key2=value2...) >>> dict(a='AA',b='BB',c='CC') {'a': 'AA', 'c': 'CC', 'b': 'BB'}

三、字典中的内置函数和方法:

1.字典的内置函数和使用举例:

内置函数函数功能
len(dict)计算字典中的元素个数,即键的总数
str(dict)以可打印字符串的形式输出字典
type(variable)返回变量的类型
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
>>> dict1={1:'one',2:'two',3:'three'} >>> #len(dict):计算字典中的元素个数,即键的总数 >>> len(dict1) 3 >>> #str(dict):输出字典,以可打印的字符串表示 >>> str(dict1) "{1: 'one', 2: 'two', 3: 'three'}" >>> #type(variable) 返回变量类型 >>> type(dict1) <type 'dict'>

2.字典中的内置方法和使用举例:

内置方法使用功能
clear()dict1.clear()清空字典
copy()dict1.copy()返回一个字典的浅复制
fromkeys() dict.fromkeys(seq[,value]) 创建一个新字典,序列seq中的元素做字典的键,value为字典所有的键所对应的初始值,若不设置value,默认所有的键所对应的值为None
keys()dict1.keys()访问字典中所有的键,返回值为一个列表
values()dict1.values()访问字典中所有的值,返回值为一个列表
items()dict1.items()访问字典中的键和值,并返回一个列表
get()get(key[,formation])返回字典中指定的键key所对应的值,为当所访问的键不存在时,返回的信息formation。若不设置返回信息,默认返回None;如果所访问的键存在,则返回相应的值。
setdefault()setdefault(key[,value])向字典中添加一对键key和值value,并返回value。若未给出value,默认设置并返回默认值None。若要添加的键已存在,则返回该建所对应的值
in,not inkey1 in dict1判断键是否在字典中
update()dict1.update(dict2)利用字典dict2扩展字典dict1
pop()pop(key)删除字典中指定的键值对,返回被删除的值。
popitem()popitem()随机删除并返回字典中的一对键和值
   
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
>>> dict1={1:'one',2:'two',3:'three'} >>> #clear()清空字典 >>> dict1.clear() >>> dict1 {} >>> #copy():返回一个字典的浅复制 >>> dict2={1:'one',2:'two',3:'three'} >>> dict3=dict2.copy() >>> dict3 {1: 'one', 2: 'two', 3: 'three'} >>> #fromkeys(seq[,value]) 创建一个新字典,序列seq中的元素做字典的键,value为字典多有的键所对应的初始值 >>> dict4=dict.fromkeys((1,2,3)) >>> dict4 {1: None, 2: None, 3: None} >>> dict5=dict.fromkeys((1,2,3),'number') >>> dict5 {1: 'number', 2: 'number', 3: 'number'} >>> #访问字典的方法:keys(),values(),items() >>> dict1={1:'one',2:'two',3:'three'} >>> keys() >>> for i in dict1.keys(): print(i) 1 2 3 >>> dict1.keys() [1, 2, 3] >>> #values() >>> dict1.values() ['one', 'two', 'three'] >>> #items() >>> dict1.items() [(1, 'one'), (2, 'two'), (3, 'three')] >>> for each in dict1.items(): print(each) (1, 'one') (2, 'two') (3, 'three') >>> #get(key[,value]):返回字典中指定的键key所对应的值,value为当所访问的键不存在时,返回的信息。默认返回None;如果所访问的键存在,则返回相应的值。 >>> dict1={1:'one',2:'two',3:'three'} >>> print(dict1.get(4,'不存在')) 不存在 >>> print(dict1.get(2,'不存在')) two >>> print(dict1.get(5)) #默认返回None None >>> #setdefault(key[,value]):向字典中添加一对键key和值value,并返回value。若未给出value,默认设置并返回默认值None。若要添加的键已存在,则返回改建所对应的值 >>> dict1={'name':'Rubby','university':'Shandong'} >>> dict1.setdefault('sex') >>> dict1.setdefault('baby','Swan') 'Swan' >>> dict1 {'name': 'Rubby', 'university': 'Shandong', 'sex': None, 'baby': 'Swan'} >>> print(dict1.setdefault('sex','male')) None >>> #in,not in判断键是否在字典中 >>> dict1={1:'one',2:'two',3:'three'} >>> 1 in dict1 True >>> 5 not in dict1 True >>> #dict1.update(dict2):利用字典dict2扩展字典dict1 >>> a={1: 'one', 'name': 'Sam'} >>> c={'adress':'China'} >>> a.update(c) >>> a {1: 'one', 'name': 'Sam', 'adress': 'China'} >>> #pop(key)删除字典中相应的键值对,并返回被删除的值。 >>> a={'name':'Ursula','sex':'female'} >>> a.pop('sex') 'female' >>> a {'name': 'Ursula'} >>> #popitem():随机删除并返回字典中的一对键值 >>> a={1:'one','a':'AA','name':'cat'} >>> a.popitem() ('name', 'cat') >>> a {1: 'one', 'a': 'AA'}

注: 

1.不要使用fromkeys()试图给字典中的键批量赋值

复制代码
1
2
3
dict1=dict.fromkeys((1,2,3),('one','two','three')) >>> dict1 {1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

2.使用fromkeys()关键字试图修改字典中的值也是不能实现的,系统会重新创建一个字典 

复制代码
1
2
>>> dict1.fromkeys((1,2),'num') {1: 'num', 2: 'num'}

 3.为什么不直接访问字典中的键值,而要使用get?

因为如果直接访问字典中不存在的键,系统会报错,使用get方法可以避免这样的错误。

4.清空字典的方法为clear,那么dict1={}与dict1.clear()方法有什么不同呢?

clear()方法是将字典中的内容清空。而dict1={}是重新创建了一个空字典,原来字典里的内容依然存在,这样的操作并不利于数据的安全,用户还是可以通过其他途径访问到字典中的数据。

复制代码
1
2
3
4
5
6
7
8
9
10
>>> dict2=dict1;dict3=dict1 >>> dict1={} >>> dict2 {'a': 'A', 'b': 'B'} >>> dict1.clear() >>> dict2 {'a': 'A', 'b': 'B'} >>> dict2.clear() >>> dict3 {}

5.copy方法和直接赋值有什么不同?

copy方法是重新创建了一个字典,并将原来字典中的内容复制过来。而dict2=dict1的赋值方法,是给原来的字典重新取了一个名字而已。

复制代码
1
2
3
4
5
6
>>> dict1={'a':'A','b':'B'} >>> dict2=dict1;dict3=dict1.copy() >>> id(dict1);id(dict2);id(dict3) 2387017617912 2387017617912 2387017618200

 

最后

以上就是冷静雪糕最近收集整理的关于023 Python初学笔记--字典:字典的内置函数和内置方法的使用和举例一、字典:字典是python中唯一的映射类型。二、用python的工厂函数(dict函数)创建字典 三、字典中的内置函数和方法:的全部内容,更多相关023内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部