Python3中的字典初探

字典的用途

  • 表示棋盘的状态,其中每个键都是由座标组成的元组
  • 存储文件修改时间,其中键为文件名
  • 数字电话/地址簿

字典的创建和使用

字典由键和相应的值组成,这种键值对称为项;键和值之间用:隔开;项与项之间用,隔开,空字典用花括号表示{}

在字典中键必须是独一无二的,但是值不用

函数dict

可使用函数dict从其他映射(如其他字典)或键值对序列创建字典

或者使用关键字实参来调用

基本的字典操作

  • len(d)返回d包含的项(键值对)数
  • d[k]返回与键k相关联的值
  • d[k] = v 将值v关联到键k
  • del d[k]删除键为k的项
  • k in d 检查字典d是否包含键为k的项

字典跟列表的区别

键的类型:字典中键可以是整数,但并非必须是整数;字典中的键可以试任何不可变的类型:浮点数、字符串、元组

自动添加: 字典中原本没有键,也可以给它赋值,会在字典中创建一个新项;但是如果不使用append等方法的话就不能给列表中的元素赋值

成员资格:表达式k in d(d是字典)查找的是键不是值    v in l(l是列表)查找的是列表中的值而不是索引

将字符串格式设置功能用于字典

即在字典中包含的各种信息,只需要在格式字符串中提取所需的信息即可

字典方法

clear: 删除所有字典项,返回None

copy:复制,返回一个新字典,其中包含的键值对跟原来的字典相同(这个方法是浅复制,操作的是原件,而非副本)

替换副本中的值,原件不受影响,修改副本中的值(就地址修改),原件也发生变化,这个时候我们需要深复制----deepcopy,即无论怎样操作原件,都不影响复制出来的副本

fromkeys:创建一个新字典,其中包含指定的键,且每个键对应的都是None,如果不想使用默认值,也可以使用特定的值

get:获取指定键的值。get为访问字典项提供了宽松的环境;因为通常情况下若是没有这个键则会报错,但是get不会报错,只返回None

items:返回一个包含所有字典项的列表,字典项在列表中的顺序不确定

这种返回值类型叫做字典视图,可用于迭代,还可以确定其长度以及对齐执行成员资格检查

字典视图的有点是不复制,是底层字典的反应,会随着字典的改变而改变

keys:返回一个字典视图,其中包含指定字典中的键

pop:用于获取与指定键相关联的键,并将改键值对从字典中删除

popitem:类似于list.pop,但是popitem随机弹出一个字典项

setdefault:获取与指定键相关联的值,在字典不包含改键时,在地点中添加指定的键值对

值是可选的(第二个参数,没有的话默认为None)

update:使用一个字典中的项来更新另一个字典;如果当前字典中包含相同的键就替换键对应的值,若不包含就新增

values:返回一个有字典中的 值 组成的字典视图,values返回的视图可能包含着重复的值

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章