列表是Python里最为常见、常使用的一种集合类,Python的列表List所使用的特殊集合符号为方括号,用逗号(,)间隔每个元素(元素类型可以不同)。列表是有序且可修改的集合类型。
列表有几个基本特征,第一是用方括号括起来、用逗号间隔;第二是列表里的元素类型可以相同或不同;第三列表可变可修改,长度可变内容可变。
创建或声明一个列表
(1)可以依据列表的定义用方括号括起来、用逗号间隔的形式创建,例如下边的a和b这两个列表。
a = [1, 2, 3]
print a
b = [12, 13.5, 'h']
print b
程序执行结果如下:
[1, 2, 3]
[12, 13.5, 'h']
从程序的执行结果可以得到验证列表内的各个元素的类型可以不相同。
(2)也可以通过list()函数将某些数据类型转化为列表。
s = "hello"
a = list(s)
print a
程序执行结果如下:
['h', 'e', 'l', 'l', 'o']
这个列表里的每个元素都是字符。
列表是有序的,每个元素都有一个位置坐标用index表示,在Python可以通过index访问列表的某位置上的数据值,当然也可修改该位置上的数据值。
访问某位置数据的语法格式: 列表名[index]
假设列表的元素个数(即列表的长度)为n,那么列表各个元素的位置index从左向右(正向)依次为0、1、2....、n-1。从右向左(负方向)依次为-1、-2、... -n。
下面以基于“python”字符串构建出的列表为例
s = "python"
print s
a = list(s)
print a
程序的执行结果为:
python
['p', 'y', 't', 'h', 'o', 'n']
s为字符串"python",而a为列表。a里的各个元素的index位置信息如下图所示。
对于列表a里的元素't'的正向坐标为2,负向坐标为-4。
s = "python"
print s
a = list(s)
print a
print a[2], a[-4]
程序的执行结果如下所示:
python
['p', 'y', 't', 'h', 'o', 'n']
t t
修改某位置的数据的语法格式: 列表名[index] = 新值
举例:将字符'p'改为大写的'P'。
s = "python"
a = list(s)
print a[0],a[1]
a[0] = 'P'
print a[0],a[1]
程序的执行结果
python
['p', 'y', 't', 'h', 'o', 'n']
t t
p y
P y
由此可见,可以通过index访问或修改列表的某位置上的元素值。
如果想遍历整个列表,这里需要借助于循环体,可使用while或for循环体,这里用while
循环体条件的变量初始化
while 条件:
语句1
语句2
....
循环体变量的修正
else:
语句a
....
举例:通过while循环体结构打印1~100。
#coding:utf-8
# while条件表达式涉及的变量初始化
i = 1
# i <= 100为print i和 i = i + 1重复执行的条件
while i <= 100:
#while里可重复执行的语句
print i
#修正循环体变量i的值,使得i <= 100最终变为Fasle而终止while循环
i = i + 1
在回顾了while的基本使用以后,可以利用while和列表的index来遍历列表的各个元素值了。
s = "python"
a = list(s)
index = 0
while index < len(a):
print index, a[index]
index = index + 1
程序的执行结果:
0 p
1 y
2 t
3 h
4 o
5 n
这里使用了len函数,是Python内建(自带)函数,可以测集合数据类型的长度(个数)值。