一、列表(list)
列表是Python中的一个对象 对象(object)就是内存中专门用来存储数据的一块区域 之前我们学习的对象,像数值,它只能保存一个单一的数据 列表中可以保存多个有序的数据 列表是用来存储对象的对象 列表的使用:
创建列表,通过[]来创建列表
my_list = [ ]
print ( my_list , type ( my_list) )
列表存储的数据,我们称为元素
一个列表中可以存储多个元素,也可以在创建列表时,来指定列表中的元素 当向列表中添加多个元素时,多个元素之间使用,隔开 列表中可以保存任意的对象
my_list = [ 10 ]
print ( my_list)
my_list = [ 10 , 20 , 30 , 40 , 50 ]
print ( my_list)
my_list = [ 10 , 'hello' , True , None , [ 1 , 2 , 3 ] , print ]
print ( my_list)
列表中的对象都会按照插入的顺序存储到列表中
第一个插入的对象保存到第一个位置,第二个保存到第二个位置
我们可以通过索引(index)来获取列表中的元素
索引是元素在列表中的位置,列表中的每一个元素都有一个索引 索引是从0开始的整数,列表第一个位置索引为0,第二个位置索引为1,第三个位置索引为2,以此类推
通过索引获取列表中的元素
my_list = [ 10 , 20 , 30 , 40 , 50 ]
print ( my_list[ 4 ] )
如果使用的索引超过了最大的范围,会抛出异常
my_list = [ 10 , 20 , 30 , 40 , 50 ]
print ( my_list[ 5 ] )
获取列表的长度,列表中元素的个数
len()函数,通过该函数可以获取列表的长度 获取到的长度的值,是列表的最大索引 + 1
my_list = [ 10 , 20 , 30 , 40 , 50 ]
print ( len ( my_list) )
二、切片
创建一个列表,一般创建列表时,变量的名字会使用复数
stus = [ '孙悟空' , '猪八戒' , '沙和尚' , '唐僧' , '蜘蛛精' , '白骨精' ]
列表的索引可以是负数
如果索引是负数,则从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个 以此类推
print ( stus[ - 2 ] )
通过切片来获取指定的元素
语法:列表[起始:结束] 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素 做切片操作时,总会返回一个新的列表,不会影响原来的列表
print ( stus[ 1 : ] )
print ( stus[ : 3 ] )
print ( stus[ : ] )
print (
语法:列表[起始:结束:步长] 步长表示,每次获取元素的间隔,默认值是1
print ( stus[ 0 : 5 : 3 ] )
print ( stus[ : : - 1 ] )
三、通用操作
1. + 和 *
my_list = [ 1 , 2 , 3 ] + [ 4 , 5 , 6 ]
print ( my_list)
my_list = [ 1 , 2 , 3 ] * 5
print ( my_list)
2. in 和 not in
in用来检查指定元素是否存在于列表中
not in用来检查指定元素是否不在列表中
stus = [ '孙悟空' , '猪八戒' , '沙和尚' , '唐僧' , '蜘蛛精' , '白骨精' , '沙和尚' , '沙和尚' ]
print ( '牛魔王' not in stus)
print ( '牛魔王' in stus)
3. len()获取列表中的元素的个数
arr = [ 10 , 1 , 2 , 5 , 100 , 77 ]
print ( len ( arr) )
4. min()和max()
min() 获取列表中的最小值 max() 获取列表中的最大值
arr = [ 10 , 1 , 2 , 5 , 100 , 77 ]
print ( min ( arr) , max ( arr) )
5. 两个方法:index();count
方法和函数基本上是一样,只不过方法必须通过 对象.方法() 的形式调用 方法实际上就是和对象关系紧密的函数
stus = [ '孙悟空' , '猪八戒' , '沙和尚' , '唐僧' , '蜘蛛精' , '白骨精' , '沙和尚' , '沙和尚' ]
print ( stus. index( '沙和尚' ) )
print ( stus. index( '沙和尚' , 3 , 7 ) )
print ( stus. count( '牛魔王' ) )