字典
python中的字典是最常见的数据类型,其作用与列表相似,也是用来存储数据的;由key(键),value(值)组成,每个键值对用冒号:分隔。
表示方法:
字典
info={'name':'value_张三','age':18,'gender':'男'}
key必须是唯一的,不能重复,value值则不必。
获取字典内的值 info[‘name’],如果有重复的key,只会取到一个value的。
也可以用get()方法获取值,get(key,default)。
default如果指定的key不存在则返回default,默认返回none
key的命名规则必须是不可变数据类型,通常用字符串来表示;其他不可变类型包括数字,元祖。但值不必。
获取字典长度方法与字符串与列表一样,使用len()
字典虽然有长度但是不能用索引或切片获取到值的,因为字典是无序的
所以获取value的方法只能用key来获取。
如果只想获取key或value的可以使用info.keys(),info.values(),结果会存到一个列表里:
还有个函数是items(),获取所有的键值对,放到列表里,每个键值对会存到元祖里:
修改或添加字典中的value,格式info[key]=value,默认添加在末尾,如果key存在,value就会被修改。
还有一种添加方法setdefault(),其实方法与get()方法类似,格式:setdefault(key,default),也可以用来获取value。
但是如果key不存在的话,那么setdefaul传入的key和default就会被添加到字典中,default默认也是none。
所以添可以这样写setdefault(key,value)
如果有两个字典需要合并可以用update()方法,具体语法如下:
字典删除元素 pop(),del,clear(),popitem()。
pop()方法:pop(key)根据指定的key删除键值对,因为pop()是有返回值的,所以返回是key对应的value。
pop(key),key必须是存在的否则报错
这里pop()是不能用索引删除的,因为字典是无序的。
del方法:根据指定的key删除键值对
慎用,如果不指定key,会把整个字典删除
clear()方法:清空字典中所有的条目
clear()是不接受传参的,所以只能用来清空。
popitem()方法:随机删除字典中的一个键值对,有返回值,(但是执行好多次每次都是删除最后一个)。
元祖
元组与列表类似,不同之处元组使用小括号(),并且元祖内元素不可改变。
元祖创建在小括号中添加元素用逗号隔开。
如果创建的元祖中有一个元素时,需要在元素后面加逗号来表明。
元祖的元素可以用索引和切片来获取,操作与字符串、列表一样。
元祖的拆包解包与列表一样,多个变量指定多个元素,数量必须一致。
由于元祖是不可变的,所以不能删除和修改元素,这里就不一一演示了。
元祖与元祖是可以相加的,会组成一个新的元祖:
可以将列表转换成元祖:
元组转换成字典
元祖转字典条件:元组内的子对象必须是以key,value的形式存在。
不是以key,value的形式存在:
还有一种是一个元组内有两个元素的时候会理解成一个键值对,像这样:a=(‘name’,‘age’)
其实简单理解就是:以元组内的逗号分隔后的元素必须以key,value的形式才能转换成字典。
下一篇介绍集合。