变量可以存储一个元素,而列表可以存储N多个元素,列表相当于其他语言的数组。列表有以下几个特点:
列表的创建方式有2种,一种使用中括号 []
,一种是使用内置函数 list()
来创建列表
python# 第一种创建列表方式
lst=['hello','world',93,'hello']
print(lst)
print(lst[0],lst[-4])
# 第二种创建列表方式
sit2=list(['hello','world',93])
在列表中获取指定元素的索引
pythonlst=['hello','world',37,'hello']
print(lst.index('hello')) # 如果列表存在相同的元素,只返回相同元素的第一个索引
print(lst.index('hello',1,4)) # 在指定索引的范围查找元素的索引
获取列表中的单个元素
pythonlst=['hello','world',37,'hello']
print(lst[1])
print(lst[-2])
列表的切片操作 [start,stop,step]
,可以获取多个元素,切片后结果是一个新的列表对象
pythonlst=[10,20,30,40,50,60,70,80]
lst2=lst[1:6:1]
print('原列表',id(lst))
print('新列表',id(lst2))
print(lst[7:0:-1]) # step为负数的情况
列表的判断指定元素是否存在和遍历
pythonlst=['hello','python',10,20]
print(10 in lst)
print(100 not in lst)
for item in lst:
print(item)
列表增加操作,列表添加元素是在原列表的对象增加元素,不会创建新对象
pythonlst=[10,20,30]
print('添加元素之前',lst,id(lst))
lst.append(50)
print('添加元素之之后',lst,id(lst))
lst2=['hello','python']
lst.extend(lst2) # 像列表末尾一次性添加多个元素
print(lst)
lst.insert(1,80) # 在任意位置添加一个元素
print(lst)
lst3=[True,False,'hello'] #列表的切片操作
lst[1:3]=lst3
print(lst)
列表元素的删除操作
pythonlst=[10,20,30,40,50,60,30]
lst.remove(30)
print(lst) # 如果有重复的元素,只能移除第一个元素
lst.pop(1) # 删除索引为1的元素,如果不指定索引,默认会删除最后一个元素
print(lst)
lst[1:3]=[] # 列表的切片删除
print(lst)
lst.clear() # 清空列表中的所有元素
print(lst)
del lst # 删除列表
列表元素的修改操作
pythonlst=[10,20,30,40]
lst[2]=50 # 把索引2的元素修改成50
print(lst)
lst[1:3]=[100,200,300,500] # 切片修改元素
print(lst)
调用 sort()
方法排序,对原列表进行排序,不会创建新的列表
pythonlst=[42,20,8,45,31,92]
print('排序之前的列表',lst,id(lst))
lst.sort() # 默认是升序排序
print('排序后的列表',lst,id(lst))
lst.sort(reverse=True)
print(lst)
调用内置函数 sorted()
排序,会新建列表,原列表不会改变
pythonlst=[42,20,8,45,31,92]
print('排序之前的列表',lst,id(lst))
new_list=sorted(lst) # 将排序后的结果赋值给变量
print(lst)
print(new_list)
desc_list=sorted(lst,reverse=True) # 降序排序
print(desc_list)
列表生成式就是生成列表的公式
pythonlst=[i for i in range(1,10)] # 生成1-9的列表
print(lst)
lst2=[i*2 for i in range(1,6)] # 生成 2 4 6 8 10 的列表
print(lst2)
本文作者:柯南
本文链接:
版权声明:©2023 柯南 All rights reserved.