列表的创建
列表当中存储的数据,我们称之为元素
lst = [1,2,3,4,5] # 创建了一个空的列表
列表可以保存任意对象
lst = [1,'python',None,True,[1,2,3],print]
注:
·我们可以通过索引(index)来获取列表当中的元素
·索引就是元素在列表当中的位置,列表当中的每一个位置都会有一个索引
·索引是从0开始 列表第一个位置就是0 第二个是1 以此类推
·获取列表的长度(列表中元素的个数) len()通过该函数可以获取列表的长度
·获取长度 其实就是列表的最大索引值+1
切片
切片指从现有类别,获取一个子列表
lst = [10,20,30,40,50]
·通过切片获取元素,会包括起始位置的元素,不会包括结束位置的元素
·做切片时,总会返回一个新的列表,不会影响原来的列表
hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
注:
- 起始位置和结束的位置的索引是可以不写的
·如果省略结束位置,则会一直截取到最后
·如果省略开始位置,则会从第一个元素开始截取
·如果开始位置和结束位置都不写,则会从第一个元素截取到最后
步长
语法 列表[起始:结束:步长]
步长表示就是获取元素的间隔 默认值是1
步长可以是负数,但是不能为0
print(hero[])
print(hero)
通用操作
+和 *
+可以将两个列表拼接成一个列表
my_list = [1,2,3] + [4,5,6]
* 可以将列表重复指定的次数
my_list = [1,2,3] * 2
print(my_list)
in 和 not in
in用来检查指定元素是否在列表当中,
如果在返回True 不在返回False
not in用来检查指定元素是否不在列表当中,
如果不在返回True在返回False
print('钢铁侠' not in hero)
min() 获取列表当中最小值
max() 获取列表当中最大值
arr = [10,2,4,5,6,333]
print(min(arr),max(arr))
方法和函数
- 方法和函数基本上是一样的。我们可以说方法是特殊的函数。方法必须和对象联系在一起 对象.方法()形式来调用
s.index() len()
index() 获取指定元素在列表当中的位置(索引)
第二个参数表示查找的起始位置 第三个参数表示查找的介绍位置
print(hero.index('蜘蛛侠',3,7))
s.count() 统计指定元素在列表当中出的次数
print(hero.count('灭霸'))
修改列表
hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
# 通过索引修改索引为0的元素
hero[0] = '雷神'
print(hero)
修改列表
hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
print('修改前',hero)
# 通过del来修改 来删除列表当中的元素
# 删除索引为2
del hero[2]
# 通过切片修改0-2索引值
hero[0:2] = ['黑豹','雷神']
# 注:切片返回的是一个序列赋值的时候类型不能错
# 切两个元素可以同时加三个元素于列表但不覆盖原有值
hero[0:2] = ['黑豹','雷神','灭霸']
> 修改前['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
> 修改后['黑豹','雷神','灭霸','蜘蛛侠','黑寡妇','蚁人','美国队长']
print('修改后',hero)
hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
# 可以通过切片来删除元素
hero[1:3] = []
# 向索引为0的位置插入元素
hero[0:0] = ['雷神']
# 输入步长为2的元素
print(hero[::2])
> ['钢铁侠','蜘蛛侠','蚁人']
# 用步长来替换元素
hero[::2] = ['黑豹','雷神','灭霸']
# 注:列表里步长有几个元素就要用相同个数的元素来替换,不然会报错
# 想把python中 y -> j
s = 'python'
# 强制类型转换,str转为list
s = list(s)
s[1] = 'j'
列表的方法
hero = ['钢铁侠','绿巨人','蜘蛛侠']
s = ['钢铁侠','绿巨人','蜘蛛侠']
print('修改前',hero)
hero[3] = 'b' # 向列表最后插入元素发现报错:超出索引值
# append() # 向列表最后添加一个元素
hero.append('黑寡妇')
·append() # 向列表最后添加一个元素(只能加一个元素)
hero.append('黑寡妇')
·insert()
向列表指定位置插入一个元素
参数1.要插入的位置(如果插入的后面有元素则后面的元素往后移)
2.要插入的元素
hero.insert(2,'黑寡妇')
·extend()# 向后面添加可以是多个元素或者一个序列
和append()不完全一样
使用新的序列来扩展当前的序列
需要一个序列做我参数,它会将该序列当中的元素添加到列表当中
hero.extend(['黑寡妇','蚁人'])
hero += ['黑寡妇','蚁人']后面的
·clear()
s.clear() 清空序列
hero.clear()
·pop()
s.pop()
如果不传递索引值删除的是列表最后一个元素
result = hero.pop() # 删除索引为2的元素
print(result)
·remove()
s.remove() 删除指定的元素
相同值的元素有多个,只会删除第一个
hero.remove('绿巨人')
·reverse() 用来反转列表
s.reverse()
sort() 用来对列表当中的元素进行排序
lst = ['asbdnltyyuip']
lst = list('asggerghuh')
print('修改前',lst)
lst.sort(reverse=True)
print('修改后',lst)