字典和列表类似,是一种可变序列区别就在于它是无序的可变序列,保存的内容是以“键-值”对。
主要特征有五点:
(一)通过键而不是通过索引来读取
(二)字典是任意对象的集合
(三)字典是可变的,并且可以任意嵌套
(四)字典中的键值必须唯一
(五)字典中的键必须不可变
一、创建字典
字典包含两部分,即“键”+“值”,并且在键和值之间用冒号隔开(注意是英文状态下的冒号),相邻的两个元素用逗号隔开,所有元素放在一个大括号“{}”中
dictionary = {'key1':'value1','key2':'value2',......,'keyn':'valuen'}
# dictionary为参数名
# key1......keyn为键名,必须唯一且不可变,键名可以是字符串、数字或者元组
# value1......valuen表示元素的值,可以是任何数据类型,不一定唯一
例如
dictionary = {'博客名':'心机小兔','地址':'','用途':'学习'}
print(dictionary)
输出
跟列表和元组一样,字典也可以用内置函数 dict() 创建
dictionary = dict()
用dict()函数创建也有两种方法
1.通过映射函数创建字典
dictionary = dict(zip(list1,list2))
zip()函数用于将多个列表或者元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果像得到元组,可以将zip对象使用tuple()函数转换为元组;如果想得到列表,可以用list()函数将其转换为列表
案例:根据姓名和星座创建一个字典
name = ['张三','李四','王五','刘柳'] # 作为键的列表
sigh = ['水瓶座','处女座','天蝎座','射手座'] # 作为值的列表
dictionary = dict(zip(name,sigh)) # 转换为字典
print(dictionary) # 输出
得到结果如下
2.通过给定的“键-值对”创建字典
语法如下
dictionary = dict(key1=value1,key2=value2...........)
用上面的例子来说明就是
dictionary = dict(张三='水瓶座',李四='处女座',王五='天蝎座',刘柳='射手座')
print(dictionary)
输出
3.还可以利用dict对象的fromkeys()方法创建一个值为空的对象
例如
name = ['张三','李四','王五','刘柳'] # 作为键的列表
dictionary = dict.fromkeys(name) # 转换为字典
print(dictionary) # 输出
输出
二、删除字典
跟列表和元组一样,字典的删除也可以用del命令删除
del dictionary
清空字典的所有元素,但是不删除字典
dictionary.clear()
字典的创建还是比较简单的,但是要多看、多敲,几遍就能记住了