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

作者:goldensun 时间:2021-08-25 11:41:40 

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

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


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

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


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

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

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

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


#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];

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


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

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


#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Alice']: ", dict['Alice'];

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


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

更新字典:

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


#!/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'];

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


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

删除字典元素:

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

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


#!/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删除,字典已经不存在了:


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对象,无论是标准的对象或用户定义的对象。但是作为键,是不可以这样的。

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

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


#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

print "dict['Name']: ", dict['Name'];

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


dict['Name']: Manni

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


#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7};

print "dict['Name']: ", dict['Name'];

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


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

标签:Python
0
投稿

猜你喜欢

  • Django中文件上传和文件访问微项目的方法

    2021-04-15 10:44:45
  • Python tkinter进度条控件(Progressbar)的使用

    2023-08-01 20:24:21
  • focus 进 textarea 元素后光标位置的修复

    2008-09-27 13:27:00
  • 对matplotlib改变colorbar位置和方向的方法详解

    2023-07-13 21:00:04
  • Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法

    2009-11-05 21:45:00
  • python同时给两个收件人发送邮件的方法

    2021-10-23 07:31:36
  • CSS框架带来的效率提升

    2007-12-27 20:01:00
  • 浅谈django中的认证与登录

    2023-02-22 18:18:03
  • Python实现ATM系统

    2021-10-17 05:20:46
  • 为网页设计创建有效的配色方案

    2011-08-31 12:55:57
  • Windows 配置Apache以便在浏览器中运行Python script的CGI模式

    2021-08-01 11:22:07
  • Python小白学习爬虫常用请求报头

    2024-01-02 06:39:19
  • Python必考的5道面试题集合

    2021-07-11 19:38:41
  • Python入门教程(三十九)Python的NumPy安装与入门

    2023-08-25 10:38:30
  • [翻译]标记语言和样式手册 Chapter 7 锚点

    2008-01-28 14:01:00
  • Python 根据相邻关系还原数组的两种方式(单向构造和双向构造)

    2023-09-24 17:08:06
  • python3实现从kafka获取数据,并解析为json格式,写入到mysql中

    2023-06-12 21:30:21
  • Python通过for循环理解迭代器和生成器实例详解

    2022-08-23 14:34:59
  • MySQL的添加用户的两种方法

    2012-01-29 17:50:10
  • python实现库存商品管理系统

    2023-06-01 06:37:29
  • asp之家 网络编程 m.aspxhome.com