重新开始学习 Python 第八天

这篇文章主要是写python的重要的一个数据类型字典。

python字典通过键-值组成的,官方书籍称之为键值(key:value)对,每个键值用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

>>> dict = {'TOM':21,"Jerry":20,"Alice":21}

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21}

>>> type(dict)

<class 'dict'>

>>>

Python字典定义上边已经讲了,接下来说一说字典的增删改查。

Python字典新增key-value

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21}

>>>

>>> dict["Obma"]=50 # 字典中键若果不存在新增,如果存在修改。

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21, 'Obma': 50}

>>>

>>> dict.setdefault("Eliza",30) #该方法能够返回键的值,可以避免该键值对覆盖已存在的键值对。

30

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21, 'Obma': 50, 'Eliza': 30}

>>> dict.setdefault("Eliza",20)

30

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21, 'Obma': 50, 'Eliza': 30}

Python字典修改

>>> dict

{'TOM': 21, 'Jerry': 20, 'Alice': 21, 'Obma': 50, 'Eliza': 30}

>>>

>>> dict["TOM"]=33

>>> dict

{'TOM': 33, 'Jerry': 20, 'Alice': 21, 'Obma': 50, 'Eliza': 30}

update函数

dict.update(up),up字典添加并覆盖dic

>>> up

{'TOM': 22, 'Jerry': 33, 'Alice': 43, 'Obma': 50}

>>>

>>> dict.update(up)

>>> dict

{'TOM': 22, 'Jerry': 33, 'Alice': 43, 'Obma': 50, 'Eliza': 30}

Python字典查询

字典查询都是根据key进行查询的

>>> dict["Alice"]

43

>>> dict["Obma"]

50

>>> dict["Obmaa"] #字典中的key不存在 报错 KeyError

Traceback (most recent call last):

File "<pyshell#42>", line 1, in <module>

dict["Obmaa"]

KeyError: 'Obmaa'

>>>

>>> dict.get("Obmaa") #用get方法 获取字典值是不抛出错误的。

>>> dict.get("Obmaa",None)

>>>

>>> dict.get("Obma",None)

50

>>>

>>> for key in dict:

print(key)

TOM

Jerry

Alice

Obma

Eliza

>>>

>>> for key in dict:

print(dict[key])

22

33

43

50

30

>>> for key in dict.keys():

print(dict[key])

22

33

43

50

30

>>> for v in dict.values():

print(v)

22

33

43

50

30

>>>

获取字典键值对的方法还有很多,可以上网查询,上边是我列的我自己常用的三种方法。

Python字典删除

dict.clear(),该函数不必填写参数,清空字典。

del dict['key'] ,如果删除的键不存在报错

dict.pop(''key",None), pop 函数参数为必填,'sex'参数为字典的键,如果键不存在则会报错.第二个参数选填,如果不填写第二个参数,删除的键不存在则会报错,如果加上"None"参数,找不到删除的键,不会报错,返回None

>>> dict

{'TOM': 22, 'Jerry': 33, 'Alice': 43, 'Obma': 50, 'Eliza': 30}

>>>

>>> dict.pop("alic") #不加 None 删除不存在的键报错 KeyError

Traceback (most recent call last):

File "<pyshell#71>", line 1, in <module>

dict.pop("alic")

KeyError: 'alic'

>>>

>>> dict.pop("alic",None)

>>> dict.pop("alic",None)== None

True

>>> dict.pop("Alice",None)

43

>>> dict

{'TOM': 22, 'Jerry': 33, 'Obma': 50, 'Eliza': 30}

>>>

其他常用的方法

>>> dict

{'TOM': 22, 'Jerry': 33, 'Obma': 50, 'Eliza': 30}

>>> len(dict) # 字典的大小

4

>>>

>>> dict.keys() # 字典key

dict_keys(['TOM', 'Jerry', 'Obma', 'Eliza'])

>>> dict.values() # 字典值

dict_values([22, 33, 50, 30])

>>> dict.items() # 字典 key 与 值

dict_items([('TOM', 22), ('Jerry', 33), ('Obma', 50), ('Eliza', 30)])

>>>

>>> type(dict.keys())

<class 'dict_keys'>

>>> list(dict.keys())

['TOM', 'Jerry', 'Obma', 'Eliza']

>>> list(dict.values())

[22, 33, 50, 30]

>>> list(dict.items())

[('TOM', 22), ('Jerry', 33), ('Obma', 50), ('Eliza', 30)]

>>> dir(type)

['__abstractmethods__', '__base__', '__bases__', '__basicsize__', '__call__', '__class__', '__delattr__', '__dict__', '__dictoffset__', '__dir__', '__doc__', '__eq__', '__flags__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__instancecheck__', '__itemsize__', '__le__', '__lt__', '__module__', '__mro__', '__name__', '__ne__', '__new__', '__prepare__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasscheck__', '__subclasses__', '__subclasshook__', '__text_signature__', '__weakrefoffset__', 'mro']

>>>

字典与列表有很多共同之处,最主要的区别列表是有序集合,字典是无序集合,字典是键-值对应的,而且一个字典中的键是唯一的。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();