get、setdefault、items 、iteritems、pop、popitem、listpop、update等

版权声明:https://mp.csdn.net/configure https://blog.csdn.net/jieniyan2680/article/details/84932827

字典:由多个键及与其对应的值构成键值对(项),键和它的值之间用冒号隔开,项之间用逗号隔开,整个字典用{}括起来,空字典不包括任何项 like this:{}.
字典的方法
1.clear:清除字典中所有项

x={}
y=x
x["msp"]=[172560457]
#清除x
x={}
print(x)
print(y)
#输出结果
{}
{'msp': [172560457]}
x={}
y=x
x["msp"]=[172560457]
x.clear() 
print(x)
print(y)
#输出结果
{}
{}

上述情况x,y最初对应同一个字典,只有用clear 时才可对两者同时起作用
p61 例子

Alice':{'phone':'1234',
                 'add':'shanghai'},
        'Serene':{'phone':'3456',
                  'add':'kaifeng'}
}
labels={"phone":'phone number',
        'addr':'address'}
name=input('name:')
#查找电话还是地址
request=input('phone number(p) or address(a)')
#如果请求既不是'a'也不是'p'
key=request
if request =='a' :key ='add'
if request =='p' :key ='phone'
#使用get提取默认值
person=people.get(name,{})
label=labels .get(key,key)
result=person .get(key ,'not available')
print("%s 's %s is %s."%(name ,label,result ) )
#输出
name:Serene
phone number(p) or address(a)a
Serene 's add is kaifeng.
#输出
name:lily
phone number(p) or address(a)a
lily 's add is not available.

5.items 和 iteritems
items 方法 将字典所有项 以列表的形式返回,每一项为(键,值)对的形式。项的返回是 无特定顺序

names={'Serene':'kaifeng','suwjun':'xinyang','Feya':'shanghai'}
print(names .items() )
#输出
dict_items([('Serene', 'kaifeng'), ('suwjun', 'xinyang'), ('Feya', 'shanghai')])

6 pop 获得给定键对应的值,并且将键-值对移出字典

names={'Serene':'kaifeng','suwjun':'xinyang','Feya':'shanghai'}
print(names.pop('Serene'))
print(names)
#输出
kaifeng
{'suwjun': 'xinyang', 'Feya': 'shanghai'}

7 popitem 该方法类似于listpop, 后者弹出的是列表中的最后一个元素(后进先出)。但是 popitem 弹出随机项,因为字典本就没有顺序的概念。

names={'Serene':'kaifeng','suwjun':'xinyang','Feya':'shanghai'}
print(names.popitem())
print(names)
#输出
('Feya', 'shanghai')
{'Serene': 'kaifeng', 'suwjun': 'xinyang'}

8 setdefault 魔种程度上类似于get 能够获得与给定键相关联的值,
9 update 利用一个字典更新另一个字典

peoples={}
names={'Serene':'kaifeng','suwjun':'xinyang','Feya':'shanghai'}
peoples .update(names )
print(peoples )
#输出
{'Serene': 'kaifeng', 'suwjun': 'xinyang', 'Feya': 'shanghai'}

猜你喜欢

转载自blog.csdn.net/jieniyan2680/article/details/84932827