2.3.Python 数据结构(摘自《简明Python教程》)学习内容
1.数据结构
2.对象与类简介
3.列表、元组、字典
4.集合
5.对象的引用
6.有关字符串的更多内容
学习目标
1.了解Python数据结构的定义
2.初步理解对象和类的含义,理解对象的引用概念
3.掌握集合与序列及序列的三种状态(列表、元组和字典)的概念
4.牢固掌握序列的三种形态:列表、元组、字典的定义、书写方法及使用
5.掌握本节涉及到的字符串的内容
数据结构
数据结构(Data Structures)基本上人如其名——它们只是一种结构,能够将一些数据聚合在一起。换句话说,它们是用来存储一系列相关数据的集合。
Python 中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。我们将了解如何使用它们,并利用它们将我们的编程之路变得更加简单。
列表
列表 是一种用于保存一系列有序项目的集合,也就是说,你可以利用列表保存一串项目的序列。想象起来也不难,你可以想象你有一张购物清单,上面列出了需要购买的商品,除开在购物清单上你可能为每件物品都单独列一行,在 Python 中你需要在它们之间多加上一个逗号。
项目的列表应该用方括号括起来,这样 Python 才能理解到你正在指定一张列表。一旦你创建了一张列表,你可以添加、移除或搜索列表中的项目。既然我们可以添加或删除项目,我们会说列表是一种可变的(Mutable)数据类型,意即,这种类型是可以被改变的。
有关对象与类的快速介绍
虽然到目前为止我经常推迟有关对象(Object)与类(Class)的讨论,但现在对它们进行稍许解释能够有助于你更好地理解列表。我们将在后面的章节讨论有关它们的更多细节。
列表是使用对象与类的实例。当我们启用一个变量 i 并将整数 5 赋值给它时,你可以认为这是在创建一个 int 类(即类型)之下的对象(即实例) i。实际上,你可以阅读 help(int) 来了解更多内容。
一个类也可以带有方法(Method),也就是说对这个类定义仅对于它启用某个函数。只有当你拥有一个属于该类的对象时,你才能使用这些功能。举个例子,Python 为 list 类提供了一种 append 方法,能够允许你向列表末尾添加一个项目。例如 mylist.append('an item') 将会向列表 mylist 添加一串字符串。在这里要注意到我们通过使用点号的方法来访问对象。
一个类同样也可以具有字段(Field),它是只为该类定义且只为该类所用的变量。只有当你拥有一个属于该类的对象时,你才能够使用这些变量或名称。字段同样可以通过点号来访问,例如 mylist.field。
案例(保存为 ds_using_list.py):# This is my shopping list
shoplist = ['apple', 'mango', 'carrot', 'banana']
print('I have', len(shoplist), 'items to purchase.')
print('These items are:', end=' ')
for item in shoplist:
print(item, end=' ')
print('\nI also have to buy rice.')
shoplist.append('rice')
print('My shopping list is now', shoplist)
print('I will sort my list now')
shoplist.sort()
print('Sorted shopping list is', shoplist)
print('The first item I will buy is', shoplist[0])
olditem = shoplist[0]
del shoplist[0]
print('I bought the', olditem)
print('My shopping list is now', shoplist)
输出:$ python ds_using_list.py
I have 4 items to purchase.
These items are: apple mango carrot banana
I also have to buy rice.
My shopping list is now ['apple', 'mango', 'carrot', 'banana', 'rice']
I will sort my list now
Sorted shopping list is ['apple', 'banana', 'carrot', 'mango', 'rice']
The first item I will buy is apple
I bought the apple
My shopping list is now ['banana', 'carrot', 'mango', 'rice']
它是如何工作的
变量 shoplist 是一张为即将前往市场的某人准备的购物清单。在 shoplist 中,我们只存储了一些字符串,它们是我们需要购买的物品的名称,但是你可以向列表中添加任何类型的对象,包括数字,甚至是其它列表。
我们还使用 for...in 循环来遍历列表中的每一个项目。学习到现在,你必须有一种列表也是一个序列的意识。有关序列的特性将会在稍后的章节予以讨论。
在这里要注意在调用