《Python基础教程 (第2版 修订版)》 第2章 列表和元组(学习笔记· 一)

时间:2021-12-24 18:40:31

本章将引入部分Python的数据结构。关于数据结构的概念,不解释。

2.1 序列概览

列表和元组的主要区别在于,列表可以修改,元组则不能。

序列中的最后一个元素标记为-1,倒数第二个元素为-2,以此类推。第一个元素索引为0。

看实例

Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> edward = ['Edward Gumby',42]#表示姓名,年龄,这是一个列表实例
>>> john = ['John Smith',50]
>>> database = [edward,john]
>>> database
[['Edward Gumby', 42], ['John Smith', 50]]

2.2 通用序列操作

所有序列类型可以进行某些特定的操作。这些操作包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某个元素的成员资格。

2.2.1 索引

>>> greeting = 'Hello'
>>> greeting[0]#容易理解,不解释,用过数组都明白的
'H'
>>> greeting = 'Hello'>>> greeting[0]'H'>>> greeting[-1]#最后一个元素'o'
下一个实例

>>> 'Hello'[1]
'e'
在下一个实例

假设你对用户输入年份的第4个数字感兴趣,那么,可进行如下操作:

>>> fourth = raw_input('Year: ')[3]#下标3,代表第4个数不难理解吧
Year: 2015
>>> fourth
'5'

代码2-1.py(以后出现的书上的代码清单2-1,会一律写成2-1.py)

months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'Septemper',
'October',
'November',
'December'
]
#以1~31的数字作为结尾的列表
endings = ['st','nd','rd'] + 17 * ['th']\
+ ['st','nd','rd'] + 7 * ['th']\
+ ['st']
year = raw_input('Year: ')
month = raw_input('Month(1-12): ')
day = raw_input('Day(1-31): ')

month_number = int(month)
day_number = int(day)

#记得要将月份和天数减1,以获得正确的索引
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]

print month_name + ' '+ ordinal + '.' + year
运行效果

E:\Python基础教程(第二版 修订版)\第2章 列表和元组>python 2_1.py
Year: 2015
Month(1-12): 9
Day(1-31): 30
Septemper 30th.2015