python数据结构---字典(Dict)

基本操作方法:

d = {'age':18, 'name':'liu', 'sex':'male'}
# 1.遍历字典
for k in d:
    print k      # 结果:age  name  sex
for k in d.keys():
    print k      # 结果:age  name  sex
for k in d.iterkeys():
    print k      # 结果:age  name  sex

for v in d.values():
    print v      # 结果:18  liu  male
for v in d.itervalues():
    print v      # 结果:18  liu  male

for t in d.items():
    print t      # 结果:('age', 18)  ('name', 'liu')  ('sex', 'male')
for t in d.iteritems():
    print t      # 结果:('age', 18)  ('name', 'liu')  ('sex', 'male')
for k, v in d.items():
    print k, v   # 结果:k是键,v是值
for k, v in d.iteritems():
    print k, v   # 结果:k是键,v是值

print d.keys()        # 结果:['age', 'name', 'sex']
print d.iterkeys()    # 结果:从d的键中返回一个可迭代对象
print d.values()      # 结果:[18, 'liu', 'male']
print d.itervalues()  # 结果:从d的值中返回一个可迭代对象
print d.items()       # 结果:[('age', 18), ('name', 'liu'), ('sex', 'male')]
print d.iteritems()   # 结果:<dictionary-itemiterator object at 0x0000000005564C78>



# 2.增加
d = {'age':18, 'name':'liu', 'sex':'male'}
# 1.list['key'] = vaule
d["score"] = 88
print d      # 结果:{'age': 18, 'score': 88, 'name': 'liu', 'sex': 'male'}
d["score"] = 99
print d      # 结果:{'age': 18, 'score': 99, 'name': 'liu', 'sex': 'male'}
# 这种方法是通过字典的kye给字典添加元素,如果字典里已存在该key的值,则会覆盖,如果不存在,则会添加。

# 2.setdefault()方法:
a = d.setdefault('age')
print a, d      # 结果:18  {'age': 18, 'name': 'liu', 'sex': 'male'}
a = d.setdefault('height')
print a, d      # 结果:None  {'age': 18, 'height': None, 'name': 'liu', 'sex': 'male'}
a = d.setdefault('height', 175)
print a, d      # 结果:None  {'age': 18, 'height': None, 'name': 'liu', 'sex': 'male'}
a = d.setdefault('score',88)
print a, d      # 结果:88  {'age': 18, 'score': 88, 'name': 'liu', 'sex': 'male'}
# 此方法是对字典进行增添元素,参数为(‘key’,‘value’) value默认为none。
# 如果字典没有该key的时候,则会正常添加,返回一个值。默认None。
# 如果已经有了该key的时候,那么将不进行操作(不会覆盖原来的值)。



# 3.修改
d = {'age':18, 'name':'liu', 'sex':'male'}
# 1.修改值:list['key'] = vaule
d["age"]=25
print d      # 结果:{'age': 25, 'name': 'liu', 'sex': 'male'}
d["score"] = 88
print d      # 结果:{'age': 25, 'score': 88, 'name': 'liu', 'sex': 'male'}
# 如果字典里已存在该key的值,则会修改,如果不存在,则会重新添加

# 2.修改键
d = {'age':18, 'name':'liu', 'sex':'male'}
# 方法1
d["gender"] = d["sex"]
d.pop("sex")
print d      # 结果:{'age': 18, 'name': 'liu', 'gender': 'male'}
# 方法2
d["gender"] = d.pop("sex")
print d      # 结果:{'age': 18, 'name': 'liu', 'gender': 'male'}
# 方法3
d.update(gender= d.pop("sex"))
print d      # 结果:{'age': 18, 'name': 'liu', 'gender': 'male'}

# 3.update({key:value})方法:该方法是用来追加、拓展原字典元素。参数必须为一个字典。
d = {'age':18, 'name':'liu', 'sex':'male'}
d.update({"age":25})
print d      # 结果:{'age': 25, 'name': 'liu', 'sex': 'male'}
d.update({"age":30, "score": 60})
print d      # 结果:{'age': 30, 'score': 60, 'name': 'liu', 'sex': 'male'}
# update()方法没有返回值。
# D.update(D2)   将字典 D2 合并到D中,如果键相同,则此键的值取D2的值作为新值。



# 5.删除
# 1.pop(key)方法:
d = {'age':18, 'name':'liu', 'sex':'male'}
a = d.pop("sex")
print a, d      # 结果:male  {'age': 18, 'name': 'liu'}
a = d.pop('score')
print a, d      # 结果:KeyError: 'score',报错了
a = d.pop('score',None)
print a, d      # 结果:None  {'age': 18, 'name': 'liu'}
# 推荐使用第三种。

# 2.popitem()方法:
a = d.popitem() 
print a, d      # 结果:('age', 18)  {'name': 'liu', 'sex': 'male'}
# 随机删除 有返回值 元组里面是删除键值,Python3.6是默认删除最后一个。

# 3.clear()方法:
d.clear()
print d      # 结果:{}

# 4.del list[key]:
del d['name'] 
print d      # 结果:{'age': 18, 'sex': 'male'}
del d['score'] 
print d      # 结果:KeyError: 'score'
# 删除指定键值对,如果没有会报错。
del d
print d      # 结果:直接删除字典,会报错。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值