python列表相关函数_python 基础之列表的操作和列表的相关函数

一.列表的相关操作

1.列表的拼接

list1 = [1,2]

list2 = [3,4]

listvar = list1 + list2

print(listvar)

2.列表的重复

lst = [1,2,3]

listvar = lst * 3

print(listvar)

3.列表的切片

语法=>列表[::]完整格式: [开始索引:结束索引:间隔值](1)[开始索引:]从开始索引截取到列表的最后(2)[:结束索引]从开头截取到结束索引之前(结束索引-1)(3)[开始索引:结束索引]从开始截取到结束索引之前(结束索引-1)(4)[开始索引:结束索引:间隔值]从开始索引截取到结束索引之前按照指定的间隔截取列表元素值(5)[:]或[::]截取所有列表

(1)[开始索引:]从开头截取到列表的最后

listvar = ["one","two","three","four","five","six","seven","eight","nine","ten"]

res = listvar[3:]

print(res)

(2)[:结束索引]从开头截取到结束之前(结束索引-1)

res = listvar[:4]

print(res)

(3)[开始索引:结束索引]从开始索引截取到结束索引之前(结束索引-1)

res = listvar[::2]

print(res)

(4)[开始索引:结束索引:间隔值]从开始索引截取到结束索引之前按照指定的间隔截取列表值

res = listvar[::2]

print(res)

#输出:['two', 'five']

res = listvar[1:-4:3]

print(res)

#-1 -2 -3 -4 -5...

res = listvar[::-1]

print(res)

(5)[:]或[::]

res = listvar[:]

print(res)

4.列表的获取(同元组)

#          0       1       2        3    正向索引

list = ["one","two","three","four"]

#           -4    -3        -2      -1  逆向索引

res = listvar[-1]

print(res)

res = listvar[2]

print(res)

5.列表的修改(可切片)

(1)通过索引元素修改值

listvar = ["one","two","three","four"]

listvar[1] = "five"

print(listvar)

#得到:['one', 'five', 'three', 'four']

(2)通过切片批量修改的

修改的时候注意:如果切割出来元素比要替换的元素少,依然可以将想要增加的元素插入到列表中,并将原来位置的元素向后推

list = ["one","two","three","four"]

list[:2] = ["five","six",'seven',"eight"]

print(list)

#结果为:["five","six",'seven',"eight"]

#效果是one和two被["five","six",'seven',"eight"]替换,["five","six",'seven',"eight"]

中的元素一个个插入,然后将three和four往后推.

#在列表切片修改的时候,右侧的值需要iterable(可迭代性数据=>容器类型数据range对象 迭代器)

listvar = ["one","two","three","four"]

listvar[::2] = range(2)  #range(2) 0 1 2 2取不到

print(listvar)

#效果:[0, 'two', 1, 'four']

#注意这个所替换的数据要和列表可替换数据对应该,比如要替换2个元素,那么列表需要刚好满足能替换2个元素才能成立,否则会报错

#如下报错的例子:

listvar = ["one","two","three","four","five"]

listvar[::2] = range(2)  #range(2) 0 1 2 2取不到print(listvar)

#ValueError: attempt to assign sequence of size 2 to extended slice of size 3

(6)列表的删除(可切片)

#例1:

listvar = ["one","two","three","four"]

#使用del关键字,实现删除操作

del listvar[0]

print(listvar)

#得出结果:['two', 'three', 'four']  one元素被删除

'''

a = 5

print(a)

del a

print(a)

'''

#例2:(删除切割得到的元素)

listvar = ["one","two","three","four"]

del listvar[::2]  #2为步长

print(listvar)

#结果为:['two', 'four']

#例3:

listvar = ["one","two","three","four"]

del listvar[1:3]

print(listvar)

#结果:['one', 'four']

#切记注意

listvar = ["one","two","three","four"]

res = listvar[1:3]

del res #error 不能直接删除列表中的元素,而是删除的res的变量

#del listvar[1:3]

print(listvar)

#得到的结果:['one', 'two', 'three', 'four']这样的结果就是没有改变列表,而仅仅是删除了res变量.

二.列表的相关函数

从 (增删改查)来进行分析:

1.增加的操作append insert extend

#(1) append

功能:向列表的末尾添加新的元素格式:列表.append(值)返回值:None注意:新添加的值在列表的末尾,该函数直接操作原有列表

#例:

listvar = ["one","two","three","four"]

listvar.append("five")

print(listvar)

#结果为:['one', 'two', 'three', 'four', 'five']

#(2) insert

功能:在指定索引之前插入元素格式:列表.insert(索引,值)返回值:None注意:直接改变原有列表

#例:

listvar = ["one","two","three","four"]

listvar.insert(1,"five")

print(listvar)

#结果是:['one', 'five', 'two', 'three', 'four']索引为1 ,索引在原来two的位置插入一个元素,并将别的数据往后移动

#(3) extend

功能:迭代追加所有元素格式:列表.extend(可迭代性数据)返回值:None注意:至二级改变原有列表

#例1:(如果是字符串一个字符当一个元素插入列表中)

listvar =  ["one","two","three","four"]

listvar.extend("abc")

print(listvar)

#结果为:['one', 'two', 'three', 'four', 'a', 'b', 'c']

#例2:(里面是元组将元组中的元素一个个插入列表中)

listvar = ["one","two","three","four"]

listvar.extend(("five","six","seven"))

print(listvar)

#结果:['one', 'two', 'three', 'four', 'five', 'six', 'seven']

#必须是容器类型数据,123不是容器类型数据,所以会出错

#listvar.extend(123) #error

2.删除操作pop remove clear

#(1)pop功能:通过执行索引删除元素,若没有索引移除最后那个格式:列表.pop(索引)返回值:删除的元素(注意:没有指定索引,默认移除最后一个元素)

#例1:(没有指定索引,默认移除最后一个元素)

listvar = ["one","two","three","four"]

res = listvar.pop()

print(res)  #输出删除的元素

print(listvar) #列表被改为

#最后一个输出的结果是:['one', 'two', 'three']原来列表的four被删除

#例2:

#如果指定索引,那么删除索引下标对应的那个值,如果不指定,默认删除最后一个

listvar = ["one","two","three","four"]

res = listvar.pop(0)

print(listvar)

#结果为删除第一个元素得:['two', 'three', 'four']

#(2)remove

功能:通过给予的值来删除,如果多个相同元素,默认删除第一个格式:列表.remove(值)返回值:无(注意:如果有索引的情况推荐使用pop,效率高于remove)

#例:

listvar = ["one","two","three","four"]

res = listvar.remove("three")

print(res)  #返回的结果是None

print(listvar)

#得到的结果:['one', 'two', 'four']

# (3) clear

功能:清空列表格式:列表.clear()返回值:空列表

listvar = ["one","two","three","four"]

listvar.clear()

print(listvar)

#输出空列表

3.改 查 可以看列表的相关操作

#其他方法#(1) index

功能:获取某个值在列表中的索引格式:列表.index(值[,start][,end])# []表达参数可选项返回值:找到返回索引(找不到报错)

listvar = ["one","two","three","four","one","two",”one1”]

res = listvar.index("one")

print(res) # 输出0,输出元素索引的位置

# res = listvar.index("one1212") #error 不存在报错

res = listvar.index("one",1) #从所以1的位置开始

#listvar.find("one") 列表里面没有find 那是字符串的函数find

#res = listvar.index("one",4,6) error 不存在 报错

print(res)  #输出4

#(2) count

功能:计算某个元素出现的次数格式:列表.count(值)返回值:次数

#例:

listvar = ["one","two","three","four","one","two",”one1”]

res = listvar.count("one")

print(res)

#得到结果2,one出现的次数为2

#(3)sort

功能:列表排序(默认小到大排序)格式:列表.sort(reverse=Ture)返回值:None注意:直接更改原列表

#例1:

listvar = [99,-3,26,78]

listvar.sort()

print(listvar)

#让列表从大到小排序reverse = Turelistvar.sort(reverse=True)

print(listvar)

#结果:[99, 78, 26, -3]

#例2:

#如果是字母 默认按照ascii码表 从小到大排序

listvar = ["boshi","onier","james","weide","adongni"]

listvar.sort()

print(listvar)

结果:['adongni', 'boshi', 'james', 'onier', 'weide']

#(7)reverse功能:列表反转操作格式:列表.reverse()返回值:None注意:直接更改原列表

#例:

listvar = [99,-3,26,78]

listvar.reverse()

print(listvar)

#结果:[78, 26, -3, 99]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值