两大特点:无序,键唯一
无序存储,键值对的形式存储数据
键是唯一不可修改的,不能用列表做键
2、python中不可变类型:整形,字符串,元组
可变类型:字典,列表
3、字典中方法:
增加:
dic1 = {'name':'alex'}
dic1 = ['age'] =18
*dic1 = {'age':18,'name':'alex'}
dic1.setdefault() 键存在,不改动,返回字典相应键对应的值,键不存在,在字典中增加新的键值对,并返回相应的值
查找:
通过键查找
dic1.keys()打印字典中所有键
#dict1.keys['name','age'] --转换成列表:list(dic1.keys())
dic1.values()打印字典中所有值
dic1.items()打印所有键值对
修改:
直接赋值
dic3= {'name':'alex','age':18}
dic4 = {'sex':'male','age':36}
dic3.update(dic4) #有相同的key,值会修改
删除:
dic.clear() #清空字典
del dic['name'] #删除字典中指定键值对
dic.pop('age')#删除字典中指定键值对,并返回该键值对的值
dic.popitem() #随机删除键值对,并以元组方式返回
其他操作涉及的方法:
dic1 =dict.formkeys(['host1','host2'],'test')#{'host1':'test','host2':'test'}
dic1 =dict.formkeys(['host1','host2','host3'],['test1','test2'])#{'host1':['test1','test2'],'host2':['test1','test2'],'host3':['test1','test2']}
dic1['host2'][1] = 'test3' #{'host3':['test1''test3'],'host2':['test1''test3'],'host1':['test1''test3']}
字典的嵌套:
字典的排序:
字典的遍历:
字符串的操作
a = '123'
b= 'abc'
c = a+b #123abc
c='****'.join([a,b])#123****abc
st = 'hello kitty{name} is {age}'
st.count('l') #2 统计元素个数
st.captialize() #Hello kitty 首字母大写
st.center(50,'-')#--------hello kitty --------居中
st.endswith('tty3')#判断是否以某个内容结尾
st.startswith('he')#判断是否以某个内容开头
st.find('t') #8 查找第一个元素,并返回索引,不存在是返回-1
st.format(name = 'alex',age= 37)#hello kitty alex is 37
st.format_map({'name' :'alex','age':27})#hello kitty alex is 27
st.index('t') #8 返回索引,找不到报错
‘ab'.isalnum()
'123'.isdigit()
python字典的构成形式为:字典是Python语言中唯一的映射类型。
映射类型对象里哈希值(键,key)和悔樱闷指向的对象(值,value)是一对多的关系,通常被认为是可变的哈希表。
字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。
字典类型与序列类型的区别:
1、存取和访问数据的方式不同。
2、序列类型使用数字类型的键(从序列的开始按数值顺序索引)。
3、映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直接或间接的和存储数据值相关联。
4、映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。
5、映射类型用键直接“映射”到值。
字典是Python中最强大的数据类型之一
使用字典的注意不能允许一键对应多个值;键必须是可哈希的。
len()返回字典的长度。
hash()返回对象的哈希值,可以用来判断一个对象能否用来作为字典的键。
dict()工厂函数,用来创建字典颂迹。