Python 字典常见操作

创建字典

Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict

info = {}
info = dict()

初始化字典

Python可以在创建字典的时候初始化字典

info = {"name" : 'cold'}
info = dict(name = 'cold')    # 更优雅

很明显第二种方法更加的优雅和减少一些特殊字符的输入,但是有种情况第二种不能胜任

key = 'name'
info = { key :'cold'} # {'name':'cold'}
print(info)  #{'name': 'cold'}
info = dict(key = 'cold') # {'key': 'cold'}
print(info) #出错了  {'key': 'cold'}
#明显第二种方法就会引发一个不容易找到的bug

Python字典还有一种初始化方式,就是使用字典的fromkeys方法可以从列表中获取元素作为键并用None或fromkeys方法的第二个参数初始化

info = {}.fromkeys(['name', 'blog'])
  print(info)
{'blog': None, 'name': None}
info = dict().fromkeys(['name', 'blog'])
  print(info)
{'blog': None, 'name': None}
 info = dict().fromkeys(['name', 'blog'], 'luckycyong.com')
 print(info)
{'blog': 'luckycyong.com', 'name': 'luckycyong.com'}

获取键值

两种方法

  1. 中括号
info = {'name':'cold', 'blog':'luckycyong.com'}
info['name']
'cold'
  1. get 方法
info = dict(name= 'cold', blog='www.luckycyong.com')
info.get('name')
'cold'
info.get('blogname') #无此键,不会报错,返回None
None
info.get('blogname', 'luckycyong')  #给的默认值
'luckycyong'

两者不同,get方法中无此键,不会报错,返回None,方括号会报错

更新/添加

Python 字典可以使用键作为索引来访问/更新/添加值

info = dict()
info['name'] = 'cold'
info['blog'] = 'luckycyong.com'
print(info)
{'blog': 'luckycyong.com', 'name': 'cold'}

{'blog': 'luckycyong.com', 'name': 'cold night'}
info = dict(name='cold', blog='luckycyong.com')
info.update({'name':'cold night', 'blogname':'luckycyong'})
print(info)
{'blog': 'luckycyong.com', 'name': 'cold night', 'blogname': 'luckycyong'}
##键值方法
info.update(name='hot', blog='www.luckycyong.com') # 更优雅
print(info)
{'blog': 'www.luckycyong.com', 'blogname': 'luckycyong', 'name': 'hot'}

Python字典的update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,上面代码中哦功能的第二个更加优雅,但是同样和dict函数类似,键是变量时也只取字面值

字典删除

可以调用Python内置关键字 del 来删除一个键值

info={'blogname': 'luckycyong', 'blog': 'www.luckycyong.com', 'name': 'hot'}
del info['name']
print(info)
{'blogname': 'luckycyong', 'blog': 'www.luckycyong.com'}

同时也可以使用字典的 pop 方法来取出一个键值,并删除

info = dict(name='cold', blog='luckycyong.com')
info.pop('name')
'cold'
print(info)
{'blog': 'luckycyong.com'}

获取所有key

info = dict(name='cold', blog='luckycyong.com')
info.keys()
dict_keys(['blog', 'blogname'])

获取所有value

info = dict(name='cold', blog='luckycyong.com')
info.values()

dict_values(['www.luckycyong.com', 'luckycyong'])

获取key,value并循环

info = dict(name='cold', blog='luckycyong.com')
for key, value in info.items():
	print( key, value )
	
name cold
blog luckycyong.com

字典遍历操作

  1. 遍历字典的键key
d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
for key in d: #默认的键
  print(key)     
tuple
1
111
list
d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
for key in d.keys():
    print(key)
1
list
111
tuple
  1. 遍历字典的值value、
>>> d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
>>> for value in d.values():
    print (value)
[1, 2, 3]
123
python3
(4, 5, 6)
  1. 遍历字典的项
>>> d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
>>> for item in d.items():
    print(item)
('list', [1, 2, 3])
(1, 123)
('111', 'python3')
('tuple', (4, 5, 6))

  1. 遍历字典的key-value
>>> d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
>>> for key,value in d.items():
    print(key,value)
list [1, 2, 3]
1 123
111 python3
tuple (4, 5, 6)
>>> d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)}
>>> for (key,value) in d.items():
    print(key,value)
list [1, 2, 3]
1 123
111 python3
tuple (4, 5, 6)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值