列表是最常用的Python数据类型,方括号内的逗号分隔各数据项。列表的数据项可以是不相同的类型。如:
names = ["liming",55,"lin","yang","zhao",2555]
1. 增操作:append, insert,extend
列表为一种对象,所以有内置方法(函数)操作。append到最后一个位置,而insert可以通过索引的形式增加元素到任意位置,extend可以增加其他整个列表到该列表后面。
names = ["liming","wang","lin","yang","zhao"]
names.append("huang") #append到最后一个位置
names.insert(1,"wu") #insert到任意一个位置
print(names)
a = [1,2,3]
b = [4,5,6]
a.extend(b)
print(a)
2. 删操作: remove ,pop ,del,clear
remove和pop为内置函数,remove为直接删除元素操作,而pop不仅可以删除元素还可以取到删除的元素值。del可以直接删除变量。clear为清空列表元素,list.clear()。
names = ["liming","wang","lin","yang","zhao"]
names.remove(names[1])
names.remove("liming")
a = names.pop(1) #pop可以取到删除的值,()放索引,空值则删除最后一个
print(a)
print(names)
# del names[0] #del names 直接删除变量
3.查,改操作:index,count,in
通过索引的形式进行查操作,可查到对应的元素,如果要查找某元素的索引序号可通过内置方法index进行操作。
通过直接赋值进行改操作,列表索引从0开始。
names = ["liming","wang","lin","yang","zhao"]
names[1] = "xiaowang"
print(names)
names[1:3] = ["a","b"]
print(names)
count方法:查找某元素在列表中出现的次数
in:in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false,也可用于列表中。
st = ["to","be","or","not","to","be"]
t = st.count("to")
print(st)
print("hello" in st)
print(type(st) is list)
4.切片操作:list[a : b : c]
切片操作,从字面意思来讲,可以理解为将列表中固定片段切下来,通过配合切片操作,进行索引范围的灵活选取,使列表操作更加灵活方便。列表切片的一般格式为[a : b : c]。
a为所选取开始元素的索引号,b为所选取结束元素后一个元素的索引号,即所取元素为[a,b),前闭后开。b为空表示取值到最后一个元素,b为-1表示取到倒数第一个元素。c为步长长度,c为正值表示从左到右取值,c为负值表示从右到左取值。[a : b : ]或[a : b]中 c值为空,默认步长为1。
names = ["liming","wang","lin","yang","zhao"]
print(1,names[1:3]) #取到第1到3-1=2个
print(2,names[1:]) #取到最后(含该元素)
print(3,names[1:-1]) #取到倒数第二个值(含)
print(4,names[1:-1:]) #print(names[1:-1:1])第二个1代表步长为1
print(5,names[1:-1:2])#2代表从左到右2个数字取一次
print(6,names[3::-2]) #取到最后,第三个从左到右到开始,隔一个取
print(7,names[3:0:-2]) #取到第0号元素(不含该元素)
5.排序操作 :sort,reverse
list.sort(func=None, key=None, reverse=False(or True))
对于reverse这个bool类型参数,当reverse=False时:为正向排序;当reverse=True时:为方向排序。默认为False。返回值为none。字符串的排序,按Ascii码顺序排序。reverse() 函数用于反向列表中元素。
a = [1,26,45,58,3,24]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
list1 = ["to","be","or","not","T","to","be"]
list1.sort() #字符串的排序,按Ascii码顺序排序
print(list1)
list = ["to","be","or","not","to","be"]
list.reverse() #reverse不返回值
print(list)