Python基础之字典

2 篇文章 0 订阅
1 篇文章 0 订阅

 字典是Python中常用的数据类型。他通过键值对的方式存储在{}中,为日常的数据处理提供了极大的便利。

        我们先来看下字典的组成形式:首先,一个字典由一个花括号组成{},花括号内有n多个键值对组成,键值对以:隔开,如下所示:

A = {key1:value1,key2:value2,key3:value3}

        key表示键,value表示值,key在一个字典里面是唯一的,而value是任意的,key是不变的,value是任意的。

        这两句话看起来是差不多的,但还是有点小区别,先讲下key,"唯一"就像你的身份证号码,每个人都不一样,是独一无二的,而"不变"是指key的数据类型是不变的,之前我们在Python的数据类型中讲过,元组、字符串、数值、集合,这几个类型是不变的。value是任意的则指你可以指定任意类型的,可以重复的,想给他怎样赋值就怎样赋值,要什么类型就什么类型。但不能什么都不给,不然会报错。PS.如果你定义了重复的key,则以最后一个为准。

        一、了解了字典的定义,我们来讲下如何创建一个字典:

        1.直接定义:

a = {1:"a",2:"b"}
print (a)
>>>{1: 'a', 2: 'b'}

        按照我们最初的定义一样,直接按键值对的方式进行创建

        2.通过dict()函数来创建字典

 
 
# ①传入关键字
a = dict(pyhton=1,小黑屋=2)
print(a)
>>>{'pyhton': 1, '小黑屋': 2}
# ②映射函数方式来构造字典
b = dict(zip([1, "python", '小黑屋'], [1, 2, "3"]))
print(b)
>>>{1: 1, 'python': 2, '小黑屋': '3'}
# ③可迭代对象方式来构造字典
c = dict([(1, 1), ('2', "2"), (3, "3")])
print (c)
>>>{1: 1, '2': '2', 3: '3'}

        ①中传入的key只能是字符串,但是不需要加引号,②则像我们的数学中的函数一样,通过映射的方法来生成,两者一一对应,这里就跟就不像①一样key只能是字符串,③通过迭代对象的方式,同样key不会受限制

       二、访问字典的值

 
# ①直接访问
a = {1:"python", 2:"小黑屋"}
print (a[1])
>>>python
print (a[2])
>>>小黑屋
# ②get函数访问
b = {1:"python", 2:"小黑屋"}
print (b.get(3))
>>>None
print (b.get(3,"666"))
>>>666

        我们可以直接通过 变量名[key] 这样的方式来访问字典的值。也可以通过函数get()的方式来访问,用get()的话,如果访问到不存在的键值得话,返回的是None,当然,你也可以给他设置默认值,如果该键值不存在,则访问一个固定好的值,如上面的666.

        三、增加/修改字典的值

 
a = {1:"python", 2:"小黑屋"}
print (a[1])
>>>python
# 修改字典的值
a[1]  = "小黑屋"
print(a[2])
>>>小黑屋
# 增加字典的值
a[3] = "666"
print(a)
>>>{1: '小黑屋', 2: '小黑屋', 3: '666'}

        增加/修改也是比较简单,就直接跟变量赋值一样,如果key是原字典就有的,就是修改value的值,如果没有,就是增加字典的键值对。 

        四、删除字典的值

 
 
①用 del 删除单个值
a = {1:"python", 2:"小黑屋"}
del a[1]
print(a)
>>>{2: '小黑屋'}
②用clear删除字典所有值
b = {1:"python", 2:"小黑屋"}
b.clear()
print(b)
>>>{}
③通过pop删除单个值
c = {1:"python", 2:"小黑屋"}
c.pop(1)
print(c)
>>>{2: '小黑屋'}

         五、获取字典的键和值

 
 
a = {1:"python", 2:"小黑屋"}
①获取字典的所有key
print(a.keys())
>>>dict_keys([1, 2])
②获取字典的所有values
print(a.values())
>>>dict_values(['python', '小黑屋'])
③遍历字典的keys
for i in a.keys():
   print(i)
>>>1
>>>2
④遍历字典的values
for j in a.values():
   print(j)
>>>python
>>>小黑屋
⑤获取字典的键值对
b = {1:"python", 2:"小黑屋"}
print(b.items())
>>>dict_items([(1, 'python'), (2, '小黑屋')])
⑥遍历字典的键值对
for i in b.items():
   print(i)
>>>(1, 'python')
>>>(2, '小黑屋')
⑦遍历字典的键和值
for i,v in b.items():
   print("key=%s:value=%s" %(i,v))
>>>key=1:value=python
>>>key=2:value=小黑屋

        六、字典自带的内置方法

dict.fromkeys(seq[, value]))
# 创建一个字典,以seq中元素为key,以value中的值为默人value(不写为None)
# seq可以为列表、元组、集合
seq = ["python","小黑屋"]
a = dict.fromkeys(seq)
print(a)
>>>{'python': None, '小黑屋': None}
b = dict.fromkeys(seq,1)
print(b)
>>>{'python': 1, '小黑屋': 1}
dict.has_key(key)
# 判断key是否在字典中,是返回True,否返回False
# 不过在Python已经不能用,改为if key in dict:
# 如果key在dict里则结果为True,不在则为False
a = {"python":1, "小黑屋":2}
if "python" in a:
   print(666)
>>>666
dict.update(dict2)
# 将一个字典更新到另一个字典中
a = {1:"python", 2:"小黑屋"}
b = {3:"你好", 4:"小黑"}
a.update(b)
print(a)
>>>{1: 'python', 2: '小黑屋', 3: '你好', 4: '小黑'}

        以上就是Python字典中常用到的一些知识点。

欢迎大家关注我的微信公众号Python小黑屋

python学习资源/有趣的python文章/python学习笔记


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值