Dict函数+len函数+type函数
1、Dict() 转化为字典,创建字典
a=[('a',1),('b',2)]
b=dict(a)
>>> b {'a': 1, 'b': 2}
>>>b['a'] 1
mm=dict(name='tester,age=24)
>>> mm {'name': 'tester', 'age': 24}
2、Len() 计算字典元素个数
test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> len(test) 3
3、type函数
test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> type(test) <class 'dict'>
>>> type('name') <class 'str'>
基本操作+字典特性
基本操作:
test={'name': 'tester', 'age': 24}
1、修改字典
test['age']=25
>>> test {'name': 'tester', 'age': 25}
test['sex']='女'
>>> test {'name': 'tester', 'age': 25, 'sex': '女'}
2、删除字典元素
del test['sex']
>>> test {'name': 'tester', 'age': 25}
del test
>>> test
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
test
NameError: name 'test' is not defined
字典特性:
- 不允许一个键出现两次,出现两次,记住后面的键值;
- 只能变键值,键不可变;
Dict特点:
- 查找,插入速度快,时间不会随元素的增加而增加
- 需要占用内存多,内存浪费多
List特点:
(1)查找,插入时间随元素的增加而增加
(2)需要占用内存小,内存浪费少
字典方法(*)
1、clear() 删除元素
test={'name': 'tester', 'age': 25, 'sex': '女'}
test.clear()
>>> test {}
2、copy() 复制
(1) test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> mm=test 字典的值相同,是同一字典
mm['name']='yy'
>>> test {'name': 'yy', 'age': 25, 'sex': '女'}
(2) test={'name': 'tester', 'age': 25, 'sex': '女'}
mm=test.copy() 两个值相同的字典
>>> mm['name']='yy'
>>> test {'name': 'tester', 'age': 25, 'sex': '女'}
>>> mm {'name': 'yy', 'age': 25, 'sex': '女'}
3、fromkeys() 创建新字典 dict.fromkeys(键,值)
seq=('name','age','sex')
test=dict.fromkeys(seq)
>>> test {'name': None, 'age': None, 'sex': None}
test01=dict.fromkeys(seq,10)
>>> test01 {'name': 10, 'age': 10, 'sex': 10}
4、get()方法 返回指定值,值不存在返回default,值不在字典中返回None
test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> test.get('name') tester'
print(test.get('namae')) None
5、key in dict 检查key是否在字典
'name' in test True
'ss' in test False
6、item() 以列表方式返回,键值由元祖组成
test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> test.items()
dict_items([('name', 'tester'), ('age', 25), ('sex', '女')])
7、keys() 获取字典keys
test={'name': 'tester', 'age': 25, 'sex': '女'}
>>> test.keys()
dict_keys(['name', 'age', 'sex'])
8、values() 返回所有值,包括重复值
test={'小米':22,'小红':22,'小雪':21}
>>> test.values()
dict_values([22, 22, 21])
9、setdefault() 和get()相似,区别是存在值时返回值,不存值时会添加值
test={'name': 'tester', 'age': 25}
test.setdefault('name') 'tester'
print(test.setdefault('sex')) None
>>> test {'name': 'tester', 'age': 25, 'sex': None} 添加了sex的键值
test.setdefault('height',50)
>>> test {'name': 'tester', 'age': 25, 'sex': None, 'height': 50}
10、update() 更新,相同覆盖,不同追加到旧字典
test={'name': 'tester', 'age': 25}
mm={'a':1,'b':2,'name':'tester'}
test.update(mm)
>>> test {'name': 'tester', 'age': 25, 'a': 1, 'b': 2}