python之字典

定义字典

不能存在相同的键,字典中的元素是无序的

>>> d = {'a':1,'b':2,'c':3}

返回所有键值:items()
返回所有键:keys()
查看所有值:values()

>>> d.items()
dict_items([('a', 1), ('b', 2), ('c', 3)])
>>> d.keys()
dict_keys(['a', 'b', 'c'])
>>> d.values()
dict_values([1, 2, 3])

向字典添加或删除键值

删除键值:popitem()
删除指定键:pop()
删除字典里的所有键值:clear()
添加字典到字典:update()

>>> d['e'] = 4   #添加键值
>>> d
{'a': 1, 'b': 2, 'c': 3, 'e': 4}
>>> d.popitem()
('e', 4)
>>> d
{'a': 1, 'b': 2, 'c': 3}
>>> d.pop('b')  #删除指定键b及对应值
2
>>> d
{'a': 1, 'c': 3}
>>> d1 = {'q':7, 'w':8}   #定义一个字典
>>> d.update(d1)   #这里相当于更新,把d1的内容更新到b
>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8}
>>> d1.clear()
>>> d1
{}

字典键值的处理

拷贝为新的字典:copy()

>>> d2 = d.copy()
>>> d2
{'a': 1, 'c': 3, 'q': 7, 'w': 8}

判断单个键的值是否存在:
1、_contains_() 返回的是bool值(True/False)
2、get() 有键值则返回键值,没有则返回默认值

>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8}
>>> d.__contains__('a')
True
>>> d.get('a','no')
1
>>> d.get('b','no')
'no'

判断字典的键还可以用setdefault(),与get()相似,不同的是,使用setdefault()时,如果字典中没有键则会添加这个键,默认值为None

>>> d.setdefault('a')
1
>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8}
>>> d.setdefault('b')
>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8, 'b': None}

当然如果想要指定这个键的值也可以,但是键存在的情况下原来的键值不会改变

>>> d.pop('b')
>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8}
>>> d.setdefault('a', 2)   #有a这个键只返回键值,不改变键值
1
>>> d.setdefault('b', 2)   #没有b这个键则会添加,并且键值为2
2
>>> d
{'a': 1, 'c': 3, 'q': 7, 'w': 8, 'b': 2}

如果需要打印一个字典中的键值时,使用print来一个一个打印显然不可能,可以使用for语句结合字典迭代器来遍历打印

>>> for i in d.items():     #打印所有键值
	print(i)
	
('a', 1)
('c', 3)
('q', 7)
('w', 8)
('b', 2)
>>> for i in d.keys():    #打印所有键
	print(i)

a
c
q
w
b
>>> for i in d.values():   #打印所有值
	print(i)

1
3
7
8
2
>>> 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值