Python字典dict——【增】【删】【改】【查】——基本操作总结

三、 dict字典

       字典特点:

                     1、查询速度快

                     2、key唯一

                     3、key是不可变的

                     4、无序的

                     5、必列表内存空间多。

       为什么快与为什么空间大呢?

              Python的hash只是在单个程序或者说一个进程是唯一的。字典是使用hash将字符串变成数字,利用二分算法进行查询的。

3.1 增

3.1.1 添加新的元素

如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

    info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
    newId = input('请输入新的学号')
    info['id'] = newId
    print('添加之后的id为:%d'%info['id'])
结果:

    请输入新的学号188
    添加之后的id为: 188

3.1.2 update函数:用一个字典更新另外一个字典

1

2

3

4

5

6

7

8

9

10

# _*_ coding:utf-8 _*_

d={

  'one':123,

  'two':2,

  'three':3

  }

print d

x={'one':1}

d.update(x)

print d

运算结果:

1

2

3

4

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three': 3, 'two': 2, 'one': 123}

{'three': 3, 'two': 2, 'one': 1}

3.1.3 setdefault()

描    述:先查询字典中有没有键,如果没有则会加键,值可以指定默认

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
# 增
print(info.setdefault('姓名'))
print(info.setdefault('cx','cx'))
print(info)

结    果:

陈鑫

cx

{'工作': 'IT', 'cx': 'cx', '姓名': '陈鑫', '年龄': '21'}

3.2 删

3.2.1  del删除指定的元素

 
    info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
 
    print('删除前,%s'%info['name'])
 
    del info['name']
 
    print('删除后,%s'%info['name'])

3.2.1 pop()

描    述:移除字典数据,删除指定键并值,

返回  值:返回未删除的键,

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
# 删
info.pop('姓名')
print(info)

结    果:

{'工作': 'IT', '年龄': '21'}

dict_keys(['工作', '年龄'])

3.2.2 popitem()

描    述:随机返回并删除字典中的一对键值,

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
# 删
info.popitem()
print(info)

结    果:

{'姓名': '陈鑫', '年龄': '21'}

dict_keys(['姓名', '年龄'])

3.3 改

3.3.1

修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

demo:

   info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
   info["id"] =90
   print(info)

3.4 查

3.4.1 key查看value值

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上实例输出结果:
#dict['Name']:  Zara
#dict['Age']:  7

3.4.2 get查看value值

描    述:返回指定键的值,如果值不存在字典中返回默认值

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
# 查
print ("Value : %s" %  info.get('姓名'))
print ("Value : %s" %  info.get('Sex', "nnnn"))

结    果:

Value : 陈鑫

Value : nnnn

3.5 清除

3.5.1 clear()

描    述:用来删除字典内所有元素

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}

# 清除
print(len(info))
info.clear()
print(len(info))

结    果:

3

0

3.6 复制

3.6.1 copy()

描    述:复制字典,如果原字典修改,复制出来的字典不会修改,是新开辟出内存空间

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
# 复制
print(info)
info1 = info.copy()
print(info1)

结    果:

{'工作': 'IT', '年龄': '21', '姓名': '陈鑫'}

{'工作': 'IT', '年龄': '21', '姓名': '陈鑫'}

3.6.2 等号

描    述:复制字典,两个字典变量指向同一内存空间,在字典大的时候,原字典修改,复制字典也会跟着修改,而不会开辟另一块内存空间

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}

# 复制
info1 = info
print(info1)

结    果:

{'年龄': '21', '姓名': '陈鑫', '工作': 'IT'}

3.7 初始化字典

3.7.1 fromkeys()

描    述:用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值

返回  值:返回字典

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
#初始化
dict = dict.fromkeys(info)
print(dict)
dict = dict.fromkeys(info,10)
print(dict)
print(type(dict))

结    果:

{'年龄': None, '工作': None, '姓名': None}

{'年龄': 10, '工作': 10, '姓名': 10}

<class 'dict'>

3.8 格式转换

3.8.1 items() 转换元组

描    述:以列表返回可遍历的元组数组

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
#转换元组
info_yz = info.items()
print(type(info_yz))
for i in info_yz:
    print(i)

结    果:

<class 'dict_items'>

('年龄', '21')

('姓名', '陈鑫')

('工作', 'IT')

3.8.2 keys()转换列表

描    述:以列表返回一个字典所有的键

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}

list_dict = info.keys()
print(list_dict)

结    果:

dict_keys(['姓名', '工作', '年龄'])

3.8.3 values()

描    述:将字典以列表返回到所有值

实    例:

#/usr/bin/env python
info = {
    '姓名':'陈鑫',
    '年龄':'21',
    '工作':'IT'
}
#转换列表
info1 = info.values()
print(info1)

结    果:

dict_values(['21', 'IT', '陈鑫'])

猜你喜欢

转载自blog.csdn.net/MIC01234/article/details/88074909