[ Python入门教程 ] Python字典数据类型及基本操作

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ Python入门教程 ] Python字典数据类型及基本操作相关的知识,希望对你有一定的参考价值。

  字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中。字典中的"值"通过"键"来引用。

创建字典

  创建字典的格式如下:

dictionary = {key1:value1, key2:value2, ...}

  创建实例如下:

dict = {} #空字典
dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell‘)} #多元素字典
dict2 = {lesson1‘: Python‘, lesson2: ‘Java, ‘lesson3: ‘Shell)} #注意和dict1不同(lesson首字母小写),原因是字典中的键是区分大小写的

  说明:字典的键是区分大小写的。

获取字典的值

    访问字典中的元素有2种方法。第1种是通过key值获取相应的value值,第二种是通过字典函数get()来获取。

   (1)通过key值获取相应的value值。语法格式为:value = dict[key]。具体实例如下:

>>> dict1 = {Lesson1‘: Python}
>>> dict1[Lesson1]
Python‘
>>> dict1[Lesson2] #不存在对应的键值,返回KeyError报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: Lesson2

  (2)通过get()函数获取value值,get()函数使用格式如下:

dict.get(key[,default_value])

  说明:参数key表示字典的键值,参数default_value可以作为get()的返回值,默认值为None。如果指定default_value参数值,表示如果参数key键值在字典key列表中,则返回对应的value值,如果不在,则返回预先设定的default_value的值。具体实例如下所示:

>>> dict1 = {Lesson1‘: Python}
>>> dict1.get(Lesson1)
Python‘
>>> dict1.get(Lesson2)
>>> dict1.get(Lesson2‘,Perl)
Perl

添加字典元素

  方法一:直接添加方法,使用格式如下:

dict[key] = value

  如果键值key不在字典dict的key列表中,字典dict添加(key:value)的记录。如果已经在key列表中,则修改键值key对应的value值。

dict[Lesson3‘] = Perl

  举个例子,假设字典dict中不存在键名为Lesson3的字符串,则直接添加。如果已存在,则刷新值为Perl字符串。实例如下:

>>> dict1 = {Lesson1‘: Python}
>>> dict1[Lesson3‘] = Perl‘
>>> dict1
{Lesson3‘: Perl‘, Lesson1‘: Python}
>>> dict1 = {Lesson3‘: Python}
>>> dict1[Lesson3‘] = Perl‘
>>> dict1
{Lesson3‘: Perl‘}

  方法二:通过调用setdefault()函数方法实现。格式如下:

dict.setdefault(key[,default_value])

  如果索引key在字典key列表中,则返回对应的value值,如果不在key列表中,则添加新索引key和value在字典中,并反馈default_value值,默认值 为None。使用实例如下:

>>> dict1 = {Lesson1‘: Python}
>>> dict1.setdefault(Lesson1)
Python‘
>>> dict1.setdefault(Lesson2)
>>> dict1
{Lesson2‘: None, Lesson1‘: Python}
>>> dict1.setdefault(Lesson3‘,Shell)
Shell‘
>>> dict1
{Lesson3‘: Shell‘, Lesson2‘: None, Lesson1‘: Python‘}

获取字典所有keys、Values或者key-valu键值对

(1)获取字典的所有"键"-"值"元素。通过调用字典的items()方法实现,返回的是(key,value)元组组成的列表。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.items()
[(Lesson3‘, Shell‘), (Lesson2‘, Java‘), (Lesson1‘, Python‘)]

(2)获取字典的中key组成的列表。通过调用字典的keys()方法实现。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.keys()
[Lesson3‘, Lesson2‘, Lesson1‘]

(3)获取字典的中value组成的列表。通过调用字典的values()方法实现。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.values()
[Shell‘, Java‘, Python‘]

判断指定key是否存在字典

  判断字典中是否存在键值为k的元素。通过调用字典has_key()方法实现。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.has_key(Lesson1)
True
>>> dict1.has_key(Lesson4)
False

删除字典元素。

  方法一:通过调用内置函数del实现。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> del dict1[Lesson1]
>>> dict1
{Lesson3‘: Shell‘, Lesson2‘: Java‘}

  方法二:通过调用字典的pop()函数实现。pop()函数格式如下:

dict.pop(key[,default_value])

    pop()函数必须指定参数索引key才能删除对应的值。如果索引key在字典key列表中,则返回索引key对应的value值。如果不存在,则返回预先设置的default_value值,如果未设置,会爬出KeyError异常信息。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.pop(Lesson3)
Shell‘
>>> dict1
{Lesson2‘: Java‘, Lesson1‘: Python}
>>> dict1.pop(Lesson3‘,Perl)
Perl

  方法三:调用字典的clear()函数,清除字典的所有内容。实例如下:

>>> dict1 = {Lesson1‘: Python‘, Lesson2‘: Java‘, Lesson3‘: Shell}
>>> dict1.clear()
>>> dict1
{}

字典排序

  字典的排序可以通过使用sorted()函数实现,实例如下:

>>> dict = {2‘:"Python",1‘:"Java",3‘:"C++"}
>>> sorted(dict.items(),key=lambda d:d[0])
[(1‘, Java‘), (2‘, Python‘), (3‘, C++)]
>>> sorted(dict.items(),key=lambda d:d[1])
[(3‘, C++‘), (1‘, Java‘), (2‘, Python‘)]

 

以上是关于[ Python入门教程 ] Python字典数据类型及基本操作的主要内容,如果未能解决你的问题,请参考以下文章

python基础入门之六 —— 字典

Python学习-字典入门列表练习

Python 基础 4-1 字典入门

python入门之字典

Python_实用入门篇_11

Python入门教程第41篇 字典