Python列表切片及方法

本文章除特殊例子外,所有例子以此列表为准:

a = [1,2,3,4,5,6,7,8,9]
  1. 序列
    顺序存放值的对象

  1. 列表
    用 [ ] 来创建一个列表
    a = [ ]

  1. 索引值
    列表的第一个索引值为0,每个元素之间相隔一个索引值,越往后索引值越大,索引值可以为负数,最后一个索引值为-1,以上方法以此类推。
    通过:变量名[索引值] ———— 来取出相对应的值

  1. 切片
    切片的方法可取出一个列表中的一部分并且生成一个新的列表
    通过:变量名[索引值 : 索引值 : 步长] ———— 进行切片
    (步长不能为0)

取部分元素
a [ 0 : 3 ] ———— 取出列表中 0 - 2 的元素 组成一个新列表
a = [ 1 , 2 , 3 ] (左闭右开原则)
a [ 2 : ] ———— 取列表索引值为2及以后的元素 组成一个新列表
a = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
a [ : 3 ] ———— 取列表从开始到索引值为3之前的元素 组成一个新列表
a = [ 1 , 2 , 3 ]


间隔取元素
a [ 0 : 3 : 2 ] ———— 在范围里每隔一个取一个元素 组成一个新列表
a = [ 1 , 3 ]


反取元素
a [ 3 : 0 : -1 ] ———— 逆序取元素 组成一个新列表
a= [ 4, 3 , 2 ] (当反取元素时 应范围反取 且不步长为负数 否则将生成一个空列表) (左闭右开原则)


选取整个列表
a [ : ] ———— 取出所有元素
a = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]


  1. 修改列表
    (其方法可以理解为:删除选中的索引值 并重新添加元素)

按索引值修改单个元素
a [ 1 ] = 1
此时列表为 : a = [ 1 , 1 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]

当这样操作时:
a [ 0 ] = 1 , 2 , 3 , 4
此时列表为 a = [ (1 , 2 , 3 , 4) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
(修改添加的元素可为任意对象 ,添加的值只占一个元素)


按索引值修改部分连续元素
a [ 0 : 3 ] = 1
此时列表为:a = [ 1 , 4 , 5 , 6 , 7 , 8 , 9 ]

当这样操作时:
a [ 0 : 3 ] = 5 , 6 , 7, 8 , 9
此时列表为 a = [ 5 , 6 , 7, 8 , 9 , 4 , 5 , 6 , 7 , 8 , 9 ]
(当选中的元素为多个时,添加的元素,会分开存放,添加元素的个数不限)


按索引值修改部分间隔元素
a [ 0 : 3 : 2 ] = 2 , 2
此时列表为 a = [ 2 , 2 , 2 , 4 , 5 , 6 , 7 , 8 , 9 ]
(当间隔取元素修改时,添加元素个数应和选取元素个数相等)


在指定位置插入元素
(插入的元素 必须是可迭代的)
a [ 1 : 1 ] = 1 , 2
此时列表为 a = [ 1 , 1 , 2 ,2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]


  1. 修改列表的方法

.append(元素) ———— 整个元素当一个元素添加在尾部
a.append ( [ 1 , 2 , 3 ] ) 执行后:
a = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , [ 1 , 2 , 3 ] ]


.insert(位置,元素) ———— 整个元素当一个元素插入到指定位置
a.insert ( 1 , [ 1 , 2 ] ) 执行后:
a = [ 1 , [ 1 , 2 ] , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]


.extend (元素) ———— 将元素扩展到当前列表(必须是可迭代的)
a.extend ( [ 1 , 2 , 3 ] ) 执行后:
a = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 , 2 , 3 ]


.clear( ) ———— 清空当前列表
a.clear ( ) 执行后:
a = [ ]


.pop (索引值) ———— 根据索引值删除兵返回元素
a.pop ( ) 执行后:
a = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]
(当没有指定索引值,默认删除最后一个)
a.pop ( 1 ) 执行后:
a = [ 1 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]


.remove ( 元素 )———— 删除指定元素
a.remove ( 1 ) 执行后:
a = [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]


.reverse ( ) ———— 反转列表
a.reverse ( ) 执行后:
a = [ 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ]


.sort ( ) ———— 对列表进行排序 默认从小到大
例如列表为:

a = [ 9 , 3 , 5 , 7, 2 ]

a. sort ( ) 执行后 :
a = [ 2 , 3 , 5 , 7 ,9 ] (从小到大)
(列表元素大小排序参考ASCII码
a.sort ( reverse = True ) 执行后:
a = [ 9 ,7 ,5, 3, 2 ] (从大到小)


  1. range( )函数
    语法:range ( 开始,结束,步长 ) (左闭右开原则)
    开始 默认是从0开始 例如 range(5) 等价于 range(0, 5) 0可以省略
    结束 不包括结束 例如 range(0, 5) 是多少? [0, 1, 2, 3, 4]
    步长 默认为1 可以省略 例如 range(5) 等价于range(0, 5) 等价于 range( 0 , 5 , 1)
    (开始,结束,步长 都只能为整数)

可以用range函数创建有序列表:
a = list( range ( 0 , 10 ) ) ———— 创建一个0到9的有序列表
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


  1. for函数
    语法:for 变量① in 变量② :
    (每次从变量②中顺序取一个元素存放到变量① 简称:迭代

例如计算1到10的和:

sum = 0
for i in range(1,11):
	sum += i

  1. 通用操作

+ 可以将两个列表拼接成一个列表
* 可以将列表重复指定的次数

例如 + :

a = [1,2,3]
b = [4,5,6]
c = a + b

结果为:c =[1,2,3,4,5,6]

例如 * :

a = [1,2,3,4]
b = a * 3

结果为:b = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]


in用来检测指定预算是否在列表中
not in 用来检测指定元素是否不在列表中

a = ["hello","world"]
b = "hello" in a
c = "world" not in a

此时 b的值为:True   ,  c的值为:Flase


.index( )函数
语法:变量名.index( 元素,开始位置,结束位置 )(左闭右开原则)
作用:可以获取变量中某个范围内某个元素的第一个位置 默认为整个变量

a = "hello wrold"
b = a.index("o",5,9)

此时b的值为:8
(当没有找到时,会自动报错 ValueError: substring not found )


.count( )函数
语法:变量名.count( 元素 )
作用:计算变量中指定元素的个数

a = [1,2,3,5,2,4,1,3,6]
b = a.count(1)

此时b的值为:2


更多操作请访问python官网~

  • 92
    点赞
  • 598
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Python列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们可以根据需要指定切片的开始位置、结束位置和步长来剪切列表。通过使用切片操作,我们可以轻松地获取列表中的特定元素子集。 举个例子,如果我们有一个列表`ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]`,我们可以使用切片操作来提取其中的一部分元素。例如,如果我们想提取列表中的前三个元素,我们可以使用切片`ll[:3]`,这将返回一个新的列表`[5, 17, 13]`。同样地,我们也可以使用切片操作来获取列表中的后几个元素,比如`ll[5:]`将返回列表中从索引5开始到末尾的所有元素。 除了提取元素,我们还可以通过切片操作来删除和插入多个元素。例如,我们可以使用切片操作`ll[5:] = []`将列表中的后几个元素删除,或者使用切片操作`ll[:0] = ['a', 'b']`将元素`'a'`和`'b'`插入到列表的开头。 总结起来,Python列表切片是一种灵活的操作,可以方便地对列表进行切割、删除和插入操作,使得我们可以更加高效地处理列表数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python 列表切片详解](https://blog.csdn.net/hlx20080808/article/details/127610664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值