Python之字典dict(6)

note:键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组

1.取值


dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print("dict['Name']: ", dict['Name']);
print( "dict['Age']: ", dict['Age']);

输出:

dict[‘Name’]: Zara
dict[‘Age’]: 7

2.修改

`
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’};

dict[‘Age’] = 8; # update existing entry
dict[‘School’] = “DPS School”; # Add new entry

print(“dict[‘Age’]: “, dict[‘Age’]);
print(“dict[‘School’]: “, dict[‘School’]);
`
输出:
dict[‘Age’]: 8
dict[‘School’]: DPS School

3.删除

`
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’};

del dict[‘Name’]; # 删除键是’Name’的条目
dict.clear(); # 清空词典所有条目
del dict; # 删除词典

若key不存在,怎会返回错误,
`

d[‘Thomas’]
Traceback (most recent call last):
File “”, line 1, in
KeyError: ‘Thomas’
`

有两种方法判断key’是否存在

1.in,

`

‘Thomas’ in d
False
`

2.get(),如果key不存在,可以返回None,或者自己指定的值

`

d.get(‘Thomas’)
d.get(‘Thomas’, -1)//指定的值为-1
-1
`

4.内置函数和方法

  • 内置函数
序号 函数及描述
1 cmp(dict1, dict2) 比较两个字典元素。
2 len(dict) 计算字典元素个数,即键的总数。
3 str(dict) 输出字典可打印的字符串表示。
4 type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

- 内置方法

序号 函数及描述
1 dict.clear() 删除字典内所有元素
2 dict.copy() 返回一个字典的浅复制
3 dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4 dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
5 dict.has_key(key) 如果键在字典dict里返回true,否则返回false
6 dict.items() 以列表返回可遍历的(键, 值) 元组数组
7 dict.keys() 以列表返回一个字典所有的键
8 dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2) 把字典dict2的键/值对更新到dict里
10 dict.values() 以列表返回字典中的所有值
11 pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem() 随机返回并删除字典中的一对键和值。

5特点

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:

查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法

猜你喜欢

转载自blog.csdn.net/MyheartMylove/article/details/79474740