python字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python字典相关的知识,希望对你有一定的参考价值。

#字典的特点,字典的键通常采用字符串,但也可以用数字、元祖等不可变的类型。
#字典值可以是任意类型。
#字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来索引映射的值,而不是通过位置来索引。
#字典属于可变映射,通过索引来修改键映射的值。
#字典长度可变,可为字典添加“键:值“对。
#字典可以任意嵌套,即键映射的值可以使用一个字典。
#字典存储的是对象的引用,而不是对象本身。
#字典的基本操作,包括床架字典、求长度、关系判断和索引等。
#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字典的主要内容,如果未能解决你的问题,请参考以下文章

python字典/字典的键值/字典属性的添加

python 18:字典的赋值

python中字典的问题

Python字典嵌套字典排序,该怎么处理?

python字典

python字典对比