首页 > 编程语言 > 详细

python字典

时间:2018-08-15 16:52:00      阅读:178      评论:0      收藏:0      [点我收藏+]
#字典的特点,字典的键通常采用字符串,但也可以用数字、元祖等不可变的类型。
#字典值可以是任意类型。
#字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来索引映射的值,而不是通过位置来索引。
#字典属于可变映射,通过索引来修改键映射的值。
#字典长度可变,可为字典添加“键:值“对。
#字典可以任意嵌套,即键映射的值可以使用一个字典。
#字典存储的是对象的引用,而不是对象本身。
#字典的基本操作,包括床架字典、求长度、关系判断和索引等。
#1.创建字典,可用来多种方法来创建字典。例如:

#字典的常用方法
#1.clear()删除字典中的全部对象
x=dict(name=‘john‘,age=25) #使用dict函数创建字典对象;
print(x)
x.clear()
print(x)
#2.copy()方法,复制字典对象。
x={‘name‘:‘hobby‘,‘age‘:25}
y=x
print(y)
print(x)
y[‘name‘]=‘lili‘
print(x)#通过修改y,那么x也直接发生变化;
#判断引用是否相同。
d=y is x
print(d)
#使用copy赋值对象。
x={‘name‘:‘john‘,‘age‘:25}
y=x.copy() #引用的是复制的对象;
print(x)
print(y)
print(‘修改前------‘)
#通过y修改字典,x不发生任何变化;
y[‘name‘]=‘sb‘
print(x)
print(y)
#判断引用是否相同;
print(y is x)
#get(key[,default])
#返回键key映射的值,如果键key不存在,则返回空值。可以用default参数指定不存在的键的返回值。例如;
x={‘name‘:‘hone‘,‘age‘:25}
print(x.get(‘name‘)) #通过键得到值
print(x.get(‘sex‘)) #如果该键不存在,则返回为空;
print(x.get(‘sex‘,‘不知道‘)) #如果键不存在,则返回指定值“不知道”

#pop(key[,default])
#从字典中删除键,并返回映射值。若键不存在,则返回default;未指定default参数时会报错。
x={‘name‘:‘jack‘,‘age‘:25}
print(x.pop(‘name‘))
print(x)
#如果删除的键不存在,则返回指定的默认值,没有默认值,则报错。
print(x.pop(‘height‘,‘没有身高‘))

#如果删除的键不存在,则会报错。

print(x.pop(‘sex‘))

#popitem(),从字典删除并返回键值对元祖。空字典调用该方法,会产生keyerror错误。
x={‘name‘:‘lily‘,‘age‘:25,‘height‘:175}
#随机删除一个键值对
print(x.popitem())
print(x)
#再次随机删除一个键值对;
print(x.popitem())
print(x)
print(x.popitem())
print(x)

print(x.popitem())

print(x)

#第三次删除完毕后,已经为空,则再次删除,将会报错。
#setdefault(key[,default]),该方法用于返回映射值或者为字典添加键值对。指定键key在字典中存在时,返回映射值。若指定键
#不存在,则添加“可以:default”键值对,省略default时,映射值默认为none。
x={‘name‘:‘jack‘,‘age‘:25}
#如果该键存在,返回指定键的映射值
x.setdefault(‘name‘)
#如果该键不存在,则为字典添加该键值对,该键值对对应的值为null。
x.setdefault(‘sex‘)
print(x)
#update(other)
#该方法用于为字典添加键值对。参数other可以是另外一个字典或用赋值格式表示的元祖。若字典已经存在同名的键。
#则应设置被覆盖。
x={‘name‘:‘john‘,‘age‘:25}
#添加键值对,并覆盖同名键的映射
x.update({‘age‘:30,‘sex‘:‘male‘})
print(x)
#修改映射值
x.update(name=‘Mike‘)
print(x)
#添加键值对;
x.update(code=110,address=‘network‘)
print(x)

python字典

原文:http://blog.51cto.com/2096101/2160286

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!