您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

Python中字典的基本知识初步介绍

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   这篇文章主要介绍了Python中字典的基本知识初步介绍,是Python入门中的基础知识,需要的朋友可以参考下

  字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值。

  Python字典也被称为关联数组或哈希表。字典的一般语法如下:

  ?

1 dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

  可以用下面的方式创建字典:

  ?

1 2 dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };

  每个按键都来自它的值用冒号(:),该项目以逗号分隔,整个事情是包含在大括号分隔。没有任何项目一个空的字典是写只有两个大括号,就像这样:{}

  键在一个字典中是唯一的,而值可能不是。字典的值可以是任何类型的,但键必须是不可变的数据类型,例如字符串,数字,或元组。

  访问字典的值:

  要访问字典元素,您可以使用熟悉的方括号一起的关键,获得它的值。下面是一个简单的例子:

  ?

1 2 3 4 5 6 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};   print "dict['Name']: ", dict['Name']; print "dict['Age']: ", dict['Age'];

  当执行上面的代码中,产生以下结果:

  ?

1 2 dict['Name']: Zara dict['Age']: 7

  如果要访问一个不存在的键,这会得到一个错误,如下所示:

  ?

1 2 3 4 5 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};   print "dict['Alice']: ", dict['Alice'];

  当执行上面的代码,产生以下结果:

  ?

1 2 3 4 5 dict['Zara']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'

  更新字典:

  可以通过添加一个新条目或项目(即一个键 - 值对),修改现有条目或删除。作为简单的例子,如下图所示在现有条目更新字词:

  ?

1 2 3 4 5 6 7 8 9 10 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};   dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry     print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];

  当执行上面的代码,产生以下结果:

  ?

1 2 dict['Age']: 8 dict['School']: DPS School

  删除字典元素:

  可以删除单个字典元素或清除字典中的全部内容。也可以删除整个字典在一个单一的操作。

  要删除整个字典,只要用del语句。下面是一个简单的例子:

  ?

1 2 3 4 5 6 7 8 9 10 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};   del dict['Name']; # remove entry with key 'Name' dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary   print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];

  这将产生以下结果。注意引发异常,这是因为经过del dict删除,字典已经不存在了:

  ?

1 2 3 4 5 dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable

  注:del()方法会在后续的章节中讨论。

  字典的键的属性:

  字典值没有限制。它们可以是任意Python对象,无论是标准的对象或用户定义的对象。但是作为键,是不可以这样的。

  要记住字典中的键的两个要点:

  (一)不准一个键对应多个条目。这意味着不能有重复的键。当有重复的键,在分配过程中以最后分配的为准。下面是一个简单的例子:

  ?

1 2 3 4 5 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};   print "dict['Name']: ", dict['Name'];

  当执行上面的代码,产生以下结果:

  ?

1 dict['Name']: Manni

  (二)键的值字必须是不可变的。这意味着可以使用字符串,数字或元组作为字典的键,但像['key']是不允许的。下面是一个简单的例子:

  ?

1 2 3 4 5 #!/usr/bin/python   dict = {['Name']: 'Zara', 'Age': 7};   print "dict['Name']: ", dict['Name'];

  当执行上面的代码,产生以下结果:

  ?

1 2 3 4 Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7}; TypeError: list objects are unhashable