26字典1
一、dict()
0、python的字典是否支持一键多值?
不支持,对相同的键再次赋值直接覆盖
1、在字典中,如果视图为一个不存在的键赋值会怎么样?
会自动创建该键并添加相应的值进去
二、字典的BIF
- fromkeys(s[,n])创建并返回新的字典
例子:
>>> dict1 = {
}
>>> dict1.fromkeys((1,2,3))
{
1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'number')
{
1: 'number', 2: 'number', 3: 'number'}
>>> dict1.fromkeys((1,2,3),('one','two','three'))
{
1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
>>> dict1.fromkeys((1,3),'number') #重新创建新字典
{
1: 'number', 3: 'number'}
- dict.keys() 求键的值
>>> dict1 = dict1.fromkeys(range(5),'赞')
>>> dict1
{
0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞'}
>>> for i in dict1.keys() :
print(i)
0
1
2
3
4
- dict.values() 求值
>>> for i in dict1.values() :
print(i)
赞
赞
赞
赞
赞
- dict.items() 求整个相
>>> for i in dict1.items() :
print(i)
(0, '赞')
(1, '赞')
(2, '赞')
(3, '赞')
(4, '赞')
- dict.get() 求某个键代表的值
>>> dict1.get(5) #超出索引时不会报错,返回None
>>> print(dict1.get(5))
None
>>> dict1.get(5,'没有') #返回特定的值
'没有'
>>> dict1.get(4,'没有')
'赞'
- in 和 not in
在序列里是判断值是否在序列中,而不是索引
在字典里则判断键是否在字典中,而不是值
例如:
>>> 4 in dict1
True
>>> 5 in dict1
False
- dict.clear() 清除字典
>>> dict1.clear()
>>> dict1
{
}
>>> a = {
'name':'小甲鱼'}
>>> b = a
>>> b
{
'name': '小甲鱼'}
>>> a = {
}
>>> b
{
'name': '小甲鱼'}
>>> b.clear()
>>> b
{
}
- dict.copy() 复制字典
>>> a = {
'name':'小甲鱼'}
>>> b = a #不同的标签
>>> c = a.copy() #新的字典
>>> a
{
'name': '小甲鱼'}
>>> b
{
'name': '小甲鱼'}
>>> c
{
'name': '小甲鱼'}
>>> a['wuhu'] = 'qifei'
>>> a
{
'name': '小甲鱼', 'wuhu': 'qifei'}
>>> b
{
'name': '小甲鱼', 'wuhu': 'qifei'}
>>> c
{
'name': '小甲鱼'}
- dict.pop() 给定键弹出对应的值
- dict.popitem() 弹出对应的相
>>> a.pop('name')
'小甲鱼'
>>> a
{
'wuhu': 'qifei'}
####
>>> a = {
'name': '小甲鱼'