一、dict
使用键-值(key-value)存储,特点:无序、key是唯一且不可变的、查询速度快
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
可以通过len()获取个数
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> len(d)
3
判断key是否存在的两种方法
1、in
>>> d = {
'Adam':95,
'Lisa':85,
'Bart':59,
'Paul':75
}
>>> 'Adam' in d
True
>>> 'Bdam' in d
False
2、get(key,n)
key:元素的key
n:可选,key不存在时,n有值则返回n,无值则返回None
用python自带的get获取元素,
>>> d = {
'Adam':95,
'Lisa':85,
'Bart':59,
'Paul':75
}
>>>d.get( 'Adam')
95
>>>d.get( 'Bdam')
None
>>>d.get( 'Bdam',1)
1
pop():移除某个key(和value)
>>> d = {
'Adam':95,
'Lisa':85,
'Bart':59,
'Paul':75
}
>>>d.pop( 'Adam')
>>>d
{
'Lisa':85,
'Bart':59,
'Paul':75
}
二、set
一组key的集合,但不存储value。特点:无序、key是唯一且不可变的,自动去重
用[]和{}来包都可以
>>> s1 = set([1, 2, 3])
>>> s1
{1, 2, 3}
>>> s1 = set({1, 2, 3})
>>> s1
{1, 2, 3}
>>> s1 = {1, 2, 3}
>>> s1
{1, 2, 3}
>>>s3 = set([1, 1, 2, 2, 3, 3])
>>> s3
{1, 2, 3}
add(key):添加元素到set中,可以重复添加,但不会有效果
remove(key):删除元素
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.remove(4)
>>> s
{1, 2, 3}
*set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。
*list和dict的区别:
1、dict查找和插入的速度极快,不会随着key的增加而变慢,而list反之
2、dict需要占用大量的内存,内存浪费多,而list反之