列表(list)是一种有序的集合,可以随时添加、查找和删除元素。列表支持加入不同数据类型的元素:数字、字符串、列表、元组等。
一、创建列表
1、用中括号[]表示,元素间使用逗号分隔。
list_a = [1, 2, 3] list_b=[] (空列表)
2、用list()方法,转化生成列表。
list_b = list("abc") # list_b == ['a', 'b', 'c']
list_c = list((4, 5, 6)) # list_c == [4, 5, 6]
3、列表生成式/列表解析式/列表推导式,生成列表。
list_d = [i for i in list_a]
list_h = list(range(3))
二、列表添加
stus.append('XX') #在列表的末尾增加一个元素
stus.insert(0,'XX') #在指定位置添加一个元素
stus.extend(['kk','cici']) #在列表的末尾添加一个列表
三、列表删除
stus.pop(2) #删除指定位置的元素,取出该位置的元素值
stus.remove('XX') #删除指定的元素
del stus[3] #删除指定位置的元素
stus.clear() #清空整个list
四、列表修改
stus[1]='老王' #修改
五、列表元素查找
1、按照元素下标查找:
print(stus[-1]) #取值 下标为-1的时候,就取最后一个元素
2、切片:【切片特点:顾头不顾尾】
stus[1:3] #取list下标为1至2的元素
stus[:3] #如果开始的元素下标不写,则从第一个下标开始取
stus[1:] #如果后面下标不写的话,则从开始下标取元素至最后
stus[:] #取整个list的元素
stus[0:11:2] #2代表步长,意味着每隔2各元素取一次
stus[::-1] #步长是负数时,意味着从右往左开始取元素 (步长为负数时,下标取值顺序为从右往左)
六、列表函数&方法
stus.count('老王') #统计这个元素在list里面出现了几次
stus.index('老王') #返回这个元素第一次出现的下标,如果这个元素在list里面不存在的话,会报错
stus.reverse() #反转
stus.extend(stus2) #把后面list里面的值,加入到第一个list里面
stu3 = stus+stus2 #合并两个list
nums.sort(reverse=True) #排序,默认是升序 reverse排序规则,reverse = True 降序, reverse = False 升序
len(my) #查看变量中元素的个数,长度
注意:
当列表使用了上述方法并赋值给某个变量时,输出的是None。 要对列表使用上述的方法,无需进行变量赋值操作,因为使用函数后,无返回值
判断元素是否在列表中? in:存在 not in:不存在
七、列表循环
循环列表中的元素遍历访问:
for stu in stus:
print(stu)
循环列表的下标遍历访问:
for stu in len(stus):
print(stus[stu])
注:如果在遍历列表时,需要对列表中元素进行修改/删除操作,此时不应对循环的列表进行修改/删除操作,会漏掉部分元素
可通过复制一个列表,循环新列表,再对原列表进行修改/删除操作
eg:去除列表中的奇数,list = [1,1,2,3,4,5,6,7]
for i in list:
if i%2!=0:
list.remove(i)
print(list) ---------->1,2,4,6
为什么还有1呢?
第一次循环:list=[1,2,3,4,5,6,7]
第二次循环:list[1]的值变为了2,跳过了1,所以print中有1
不可以在for循环中修改列表