Python基础之数据基本类型之(dict)

字典

  • 字典(dictionary)是一种可变容器的类型,且可存储任意类型对象。
  • 字典的每个(key:value)对用冒号(:),每个对之间用逗号(,)分隔
  • 键(key)必须是唯一的,但键必须是不可变的,如字符串,数字,元祖

 

字典的特性:

  • 不允许同一个键(key)出现两次,创建时如果同一个key被赋值两次,后一个值会被记住。
  • 键(key)必须是可变的,所以用数字,字符串或元祖充当,列表不行。
  • 字典是无序的

 

字典的意义:我们可以找出某个key对应的value;列表和元祖,都是一种容器,但是只是储存单一的元素。

举例说明:

一个班级,要找出“小明”相应的信息,如果这个班级可能两个人或多个人叫同一个名字,那么我们需要通过唯一(key)的学号, 来获取相应学号的姓名,年级,班级,性别等等

1.字典的基本操作 

a.创建字典 

1.dict1={}
2.dict2=dict()

 

b.增加 

dict1['stu006']='yangjian'
dict1.update({'a":2})

 

c.删除

del grade1['stu001']  #删除特定key
grade1.pop('stu002')  #删除特定key
grade1.popitem()      #随机删除某一key 
grade1.clear()        #清空字典
del grade1            #删除字典

 

d.修改

grade1['stu001'] = '小贱'  #如果没有该key,则在字典创建新的的的key-value

e.查询

print('stu005' in grade1)  #查询该key是否在字典里,返回  True  or  false
print(grade1.get('stu001'))  #查询该key的值,如没有该key 则返回None
print(grade1['stu001'])  #查询已知key,如没有该key。则会有语法错误KeyError

 

f.其他用法

#dict.fromkeys()  创建一个新字典,以序列(seq)中元素做字典的key,value为字典所有键(key)对应的初始值
dict1 = dict.fromkeys([1,2,3,4],'a')
print(dict1)
{1: 'a', 2: 'a', 3: 'a', 4: 'a'}

#grade1.get()返回指定键的值,如果只不在字典中返回None值
print(grade1.get('stu007'))

#grade1.items() 以列表返回可遍历的(key,value)元祖数组
print(grade1.items())
#dict_items([('stu003', 'xiaowang'), ('stu005', 'xiaoyang'), ('stu002', 'xiaoming'), ('stu001', 'xiaojian'), ('stu004', 'xiaoli')])

# grade1.keys() 以列表形式,返回一个字典的所有键
print(grade1.keys())
# dict_keys(['stu002', 'stu001', 'stu003', 'stu004', 'stu005'])


# grade1.setdefault(key,default=None)和get()类似,如果有该键,则获取该键的值,但如果键不存在字典中,将会添加键并将值设为default
print(grade1.setdefault('stu005','aaa')) #在字典中有该key
# xiaoyang

print(grade1.setdefault('stu007','小王')) #在字典中没有该key
# 小王

# dict1.update(dict2) 把字典2的更新到字典一的值

#grade1.values() 以列表返回字典中的所有值
print(grade1.values())
dict_values(['xiaoming', 'xiaowang', 'xiaojian', 'xiaoyang', 'xiaoli'])
View Code

 

2.字典的方法

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

dict.popitem()

随机删除,并获取删除的键值以元组形式返回

 
 

 

返回目录

 

posted @ 2017-05-28 15:58  红领巾下的大刀疤  阅读(101)  评论(0编辑  收藏  举报
/* 看板娘 */