列表有序,元素可以被修改
list是一个类,列表使用中括号括起来,列表中的元素可以是数字,字符串,列表,布尔值
li=[1,2,3,"qwe",["aaa","bbb"],"李飞",True] print(li[5]) #通过索引、下标取得列表中的元素 print(li[1:4]) #通过切片取得元素,结果为列表
修改列表元素
1,通过索引值修改单个元素内容
li[1]="lt" print(li)
2.通过切片修改多个元素内容
li[1:4]=["lt",33,44] print(li)
删除列表元素
del li[2] print(li) del li[0:3] print(li)
for循环编列列表
for i in li: print(i)
in 操作,返回布尔值,True或者False,in操作中比如用“李”去判断,那么结果为false,因为列表中的元素以逗号分割
认为整体为一个元素,元素再去切片那么则认为这个元素不在列表内
v="李" in li print(v) s="李飞" in li print(s)
字符串转换成列表 直接使用list调用即可
text="qwertyuiop" new_li=list(text) print(new_li)
列表转换为字符串,当包含字符串、数字、其他元素时,需要自己创建for循环
s="" li=[1,2,3,"qwe","aaa","bbb","李飞","lt"] for i in li: s=s+str(i) print(s)
列表中只有字符串时,可以用join
li=["lt","handsome"] v="".join(li) print(v)
列表的操作方法
1.追加元素,在列表最后追加一个元素
li=["lt","handsome",22,33,44,11,22] #v=li.append("boy") #这种写法是错误的,追加值不需要有另外一个参数去接收。直接追加即可 li.append("boy") print(li)
2.清空列表
li2=li.copy() print(li2)
3.拷贝,浅拷贝
li2=li.copy() print(li2)
4,计数
li.extend(["nn","bb"]) li.extend("sdfasdf") print(li)
5.扩展原列表,后面的参数需要是可迭代对象,简单来说就是参数可以执行for循环
li.extend(["nn","bb"]) li.extend("sdfasdf") print(li)
6.根据值获取当前索引位置,后两个参数是起始和结束位置
li=[11,22,33,44,55,44,33,22,11] v=li.index(55,1,7) print(v)
7.insert在任意位置插入值,3代表索引值
li=[11,22,33,55,66,77,"lt"] li.remove("lt") print(li)
8.pop删除,能指定删除索引,默认为最后一位,并且能记录下删除的元素
li=[11,22,33,55,66,77,"lt"] li.remove("lt") print(li)
9.remove,删除列表中的指定值,无需根据索引删除,直接跟上元素即可
li=[11,22,33,55,66,77,"lt"] li.remove("lt") print(li)
reverse,列表反转
li=[11,22,33,55,66,77,"lt"] li.reverse() print(li)
sort排序,默认从小到大,可添加参数reverse=true,来实现从大到小,但要注意这样做了后,也修改了原列表。
li=[11,33,44,22,77,66] li.sort(reverse=True) print(li)
用sorted方法,也可以实现排序,但是这样的排序是临时的,并不会修改原来的列表
print(sorted(li)) print(li)
获取列表长度,注意这里获取长度的话是从1开始,所以不存在查一的错误
print(len(li))