在Python中有三种内建的数据结构——列表、元组和字典。我们将会学习如何使用它们,以及它们如何使编程变得简单。

列表  

list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分割。  列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是 可变的 数据类型,即这种类型是可以被改变的。

使用列表

#!/usr/bin/python
# Filename: 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:',
# Notice the comma at end of the line
for item in shoplist:
    print item,
    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

如何工作

变量shoplist是某人的购物列表。

在shoplist中,我们只存储购买的东西的名字字符串,但是你可以在列表中添加 任何种类的对象 包括甚至其他列表。  

使用了for..in循环在列表中各项目间递归。

列表是一个序列。

注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符。

接下来,我们使用append方法在列表中添加了一个项目,然后我们通过打印列表的内容来检验这个项目是否确实被添加进列表了。打印列表只需简单地把列表传递给print语句,我们可以得到一个整洁的输出。  

再接下来,我们使用列表的sort方法来对列表排序。需要理解的是,这个方法影响列表本身,而不是返回一个修改后的列表——这与字符串工作的方法不同。

这就是我们所说的列表是 可变的 而字符串是 不可变的 。  

最后,但我们完成了在市场购买一样东西的时候,我们想要把它从列表中删除。我们使用del语句来完成这个工作。这里,我们指出我们想要删除列表中的哪个项目,而del语句为我们从列表中删除它。我们指明我们想要删除列表中的第一个元素,因此我们使用del shoplist[0](记住,Python从0开始计数)。