列表的创建
- 列表相当于其他语言的的数组,但是列表中的数据类型可以不相同
- 列表中可以存在重复成员
创建方式
lst = ['abc', 12123, True]
lst1 = list(['efg', 1234, False])
注意第二种创建方式外部有个括号
列表的引用
- 下标是从0开始,或者可以从后向前负数开始即【-3,-2,-1】
print(lst.index('abc'), lst[0], lst[-3])
列表的切片
列表的切片的灵活性很高,可以写出一些意料之外的东西
- 格式:列表名[开始位置:终止位置:步长]
注:开始位置默认是0,终止位置则是直接在最后成员,步长默认也是1,左闭右开
lst = [10, 20, 30, 40, 50, 60]
print('-----------例(6个元素,终止位置在5,成员‘50’的下标为4)---------------')
print(lst[:5:])
print('-----------倒序方式---------------')
print(lst[::-1]) # 列表的倒序
print('-----------倒序方式1---------------')
print(lst[7::-1]) # 倒序输出
print('-----------设置步长为2---------------')
print(lst[::2]) # 设置步长为2
列表的中方法的调用
append(‘要填加的元素’):向列表的尾部添加元素。当有多个元素时,使用append,会把多个元素当成一个元素添加
lst = [10, 20, 30, 40, 50, 60]
lst.append("aa")
print(lst)
lst1 = ['aa', 'bb']
print('------------使用append在尾部插入元素,列表被当成一个元素插入------------')
lst.append(lst1)
print(lst)
extend(‘要添加的元素列表’):一次在尾部添加多个元素
print('------------使用extend在尾部一次插入多个元素------------')
lst2 = ['cc', 'dd']
lst.extend(lst2)
print(lst)
注:此时是添加多个元素,不是当成一个元素,没有外部的方括号
insert(插入位置【是下标,不是序号】,插入的元素):在指定位置插入元素
print('------------在指定位置插入元素------------')
lst.insert(1, 'afafafaf')
print(lst)
列表的覆盖
- 方式一(产生新的对象):
lst3 = ['I have a dream', 'python']
lst[1:] = lst3# 从1开始,保留第一个
2.方式二(不产生新的对象):
print('------------覆盖,不产生新的对象------------')
lst[1:] = [] # 此时不产生新的对象
print(lst)
列表元素的移除,排序
移除元素:根据值移除(remove),根据下标移除(pop)
- remove(移除元素的值):存在重复元素时只移除第一个
- pop(移除元素的下标):不指定下标是默认移除最后一个元素
lst = [10, 20, 30, 40, 50, 60, 30]
# remove 根据元素值,移除元素,重复元素只移除第一个
print('----------根据元素值移除--------------')
lst.remove(30)
print(lst)
# pop 根据元素下标移除元素,不指定下标值,默认移除最后一个
print('----------根据元素下标移除---------------')
lst.pop(4)
print(lst)
lst.pop()
print(lst)
排序:使用sort排序,使用内置函数(sorted)排序
- sort():默认为升序,可以修改reverse=True来修改为降序。在原有的基础进行排序,会修改列表
lst = [73, 41, 25, 56, 93]
# sort在原来的函数上进行排序,不产生新的列表
print('---------------使用list的排序,reverse==True,表示降序---------------')
lst.sort(reverse=True)
print(lst)
print('r-----------reverse=False表示升序,默认为为False-----------')
lst.sort(reverse=False)
print(lst)
print('------------默认为升序--------------')
lst.sort()
print(lst)
- sorted():使用内置函数进行排序,产生新的列表,原来的列表排序不改变
lst = [73, 41, 25, 56, 93]
print('使用内置函数进行排序')
new_list = sorted(lst)
print(new_list)
print(lst)
end---------------