介绍
列表是一组可以为具有不同类型的数据集合,它的使用与数组使用类似,在初始化元素时,系统都会为各个元素分配一个下标,默认下标都是从0开始,往下+1递增,下标是不可见的,系统定义下标只是为了方便我们在后面取其列表中的元素时提供定位作用。
列表是最常用的Python数据类型,他的格式是以方括号 []
包含其元素,元素之间使用逗号 ,
隔开的形式出现。例如: list = [ 'str1', num2, … ] ,其中元素可以为字符串,字符,整数....
列表可以进行索引提取,切片,连接,运算,检查成员数等操作。
此外,Python内部还定义了一些相关的函数和方法,用于计算列表(List)中元素的长度,最大值,最小值等操作!使用极为灵活。
创建列表
创建一个列表很简单,只需要给它赋值即可,用方括号 []
括住元素,元素之间使用逗号 ,
隔开,实例如下:
#!/usr/bin/python3
#!-*- coding:utf-8 -*-
list1 = [1, 200, 50, 8000 ]
list2 = ['a','b','c','d']
list3 = ["Hello","World"]
list4 = [1,'a',"Hello World"] # 列表特色的地方,表内可以为不同类型的元素
列表元素提取
提取列表元素与字符串类似,同样使用下标的方式去提取,具体有:
- 从左往右索引,下标从 0 开始,往下 +1 递增;
- 从右往左索引,下标从 -1 开始,往下 -1 递增;
基本样式: 序列名[上限:下限:步长] # 步长可缺省,默认为 1
实例如下(从左往右索引):
#!/usr/bin/python3
#-*- coding:utf-8 -*-
list4 = [100,200,'a','b',"Hello World"] #创建列表
print( list4[1] ) # 提取第2个元素
print( list4[:2] ) # 从第1个元素开始提取,到第3个元素结束
print( list4[1:] ) # 从第2个元素开始提取直到一个元素
print( list4 ) # 提取这个列表元素
print( list4[0:3:2]) # 提取列表中的偶数下标的值
运行输出结果:
200
[100, 200]
[200, 'a', 'b', 'Hello World']
[100, 200, 'a', 'b', 'Hello World']
[100, 'a']
列表元素更新
定以列表后同样可以进行列表元素的更新或者添加元素,实例如下:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
list1 = [2012, "year",6, "month", 1, "day"]
print("原来月份:",list1[2])
list1[2] = 8 # 修改第3个元素
print("修改后的月份:",list1[2])
运行输出结果:
原来月份: 6
修改后的月份: 8
注意:列表可以进行单独的元素修改,也可以进行重新全局修改!
删除列表元素
在需要删除列表中的某个元素时可以使用 del
语句来删除,具体如下:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
list1 = [2012, "year",6, "month", 1, "day"]
print(list1) # 输出列表全部元素
del list1[1] # 删除列表中的第2个元素
print(list1) # 再次输出列表全部元素
运行输出结果:
[2012, 'year', 6, 'month', 1, 'day']
[2012, 6, 'month', 1, 'day']
也可以使用区间(切片)的方式来删除列表中某段连续区间的元素!
注意:在删除元素时,后面的元素下标将会发生改变,再次调用提取元素时应注意!
列表的其他操作
列表同样可以进行连接操作 +
,重复操作 *
,运算操作 +
、-
、*
、/
)等,实例如下:
#!/usr/bin/python3
#!-*- coding: utf-8 -*-
list1 = [100,200,"Hello World"]
list2 = ["Learn Python", 3]
print(list1 + list2) # 将list2 与 list1 连接
print(list2 * 3) # 重复打印3次list2
print(list1[0] + list1[1]) # 输出list1第1个元素×第2个元素的值
print(list1[1] * list2[1]) # 输出list1第1个元素×list2第2个元素的值
运行输出结果:
[100, 200, 'Hello World', 'Learn Python', 3]
['Learn Python', 3, 'Learn Python', 3, 'Learn Python', 3]
300
600
注意:使用连接符 +
或者重复操作符 *
时,其对象为整个列表,不能是列表中的某个元素。如果编程时使用的是列表中的某个元素进行连接 +
或 重复操作 *
,表示将元素进行运算操作!
列表相关函数&方法
(1)列表相关函数:
函数 | 功能 |
---|---|
len( list ) | 计算列表长度(即:元素个数) |
max( list ) | 返回列表中最大值 |
min( list ) | 返回列表中最小值 |
list( seq ) | 将元组类型转换为列表元素(其中seq为元组变量) |
cmp( list1 ,list2 ) | 比较两个列表的元素 |
(2)列表相关方法:
方法 | 功能 |
---|---|
list.append( obj ) | 在列表末尾追加新的对象 |
list.count( obj ) | 统计某个元素在列表中出现的次数 |
list.extend( obj ) | 在列表元素后追加另一个列表的元素 |
list.index( obj ) | 在列表中查找第一匹配项obj,并返回其索引值 |
list.insert( index ,obj) | 将对象插入列表的指定位置 |
list.pop( index ) | 从列表中移除一个指定索引值的元素(缺省索引默认为最后一个元素) |
list.remove( obj ) | 移除列表中的第一个匹配项 |
list.reverse( ) | 将列表中的元素进行反向 |
list.sort( ) | 对原列表进行排序 |
获得函数帮助信息:help( function )
获得方法帮助信息:help( obj.method )
完整学习教程请访问:Python3 入门教程——目录索引