请问谁能解释这种列表切片的用法
本帖最后由 wbzxz 于 2023-2-20 21:12 编辑在学习python列表过程中,有些问题解释不了,请指点。
第一种情况
s =
s =
s =
s =
s =
s =
s =
s =
第二种情况
s =
s =
s =
s =
s =
s =
s =
s =
本帖最后由 sfqxx 于 2023-2-20 21:22 编辑
完整切片函数有三个参数:word [ 开始的索引号:结束的索引号:步长]
只有二个参数的切片函数: word [ 开始的索引号:结束的索引号](默认步长为1)
只有一个参数的切片函数: word [ 开始的索引号:] 或 word [ :结束的索引号]
例子:>>> word='我的中国心'
>>> word
'我中心'
>>> word
'我的'
>>> word
'中国心'
>>> word[:2]
'我的'
>>> word
'中国心'
s就是把第4个元素第5个元素分别改成7,8
有用设置最佳答案谢谢
这是对 Python 列表切片(slicing)操作的一系列示例,具体每个操作的含义和结果如下:
第一种情况:
s = :将列表 s 中从索引 3 开始(包括索引 3)的元素替换为 ,即将原来的 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 1(不包括索引 1)的元素替换为 ,即将原来的 [] 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 2(不包括索引 2)的元素替换为 ,即将原来的 [] 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 3(不包括索引 3)的元素替换为 ,即将原来的 [] 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 4(不包括索引 4)的元素替换为 ,即将原来的 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 5(不包括索引 5)的元素替换为 ,即将原来的 替换为 ,最终结果为 。
s = :将列表 s 中从索引 3 到索引 6(不包括索引 6)的元素替换为 ,即将原来的 替换为 ,最终结果为 。
第二种情况:
s = :将列表 s 中下标为 3 及其之后的元素替换为 ,因此原来的 被删除了,s 变成了 。
s = :将列表 s 中下标为 3 到 1 之间的元素(不包括 1)替换为 ,由于切片的左右下标是反向的,因此实际上相当于在下标为 1 的位置插入了 ,s 变成了 。
s = :将列表 s 中下标为 3 到 2 之间的元素(不包括 2)替换为 ,同样相当于在下标为 2 的位置插入了 ,s 变成了 。
s = :将列表 s 中下标为 3 到 3 之间的元素替换为 ,这实际上是在下标为 3 的位置插入了 ,s 变成了 。
s = :将列表 s 中下标为 3 到 4 之间的元素替换为 ,由于这个区间只有一个元素 4,因此 s 变成了 。
s = :将列表 s 中下标为 3 到 5 之间的元素替换为 ,因此原来的 被替换为 ,s 变成了 。
s = :将列表 s 中下标为 3 到 6 之间的元素替换为 ,这个结果是不正确的。Python中的切片赋值操作 s = lst 会将 s 中下标从 i 到 j-1 的元素替换成 lst 中的元素,替换后 s 的长度可能会发生变化,但是 lst 的长度不会改变。在这个例子中,s = 的含义是将 s 中下标从 3 到 5 的元素替换成 ,也就是将 4, 5 替换成 7, 8。因此,正确的结果是:
s =
s =
print(s) #
列表切片是一种用于获取列表的子集的方法,通常的语法是list,其中start是切片的起始位置(包含),end是切片的结束位置(不包含),step是切片的步长。下面是一些常用的用法:
list:从start到end-1的子列表
list[:end]:从开头到end-1的子列表
list:从start到结尾的子列表
list[:]:列表的完整副本
list:从start到end-1的每隔step个元素的子列表
例如,假设有一个列表my_list = ,我们可以使用以下切片来获取不同的子列表:
my_list:获取包含元素2、3、4、5的子列表
my_list[:5]:获取包含元素0、1、2、3、4的子列表
my_list:获取包含元素5、6、7、8、9的子列表
my_list[::2]:获取包含元素0、2、4、6、8的子列表 bluesky5210 发表于 2023-2-20 21:43
这是对 Python 列表切片(slicing)操作的一系列示例,具体每个操作的含义和结果如下:
第一种情况:
...
s = :将列表 s 中从索引 3 到索引 1(不包括索引 1)的元素替换为 ,即将原来的 [] 替换为 ,最终结果为 。
谢谢您,请问为什么是2个7呢? bluesky5210 发表于 2023-2-20 21:43
这是对 Python 列表切片(slicing)操作的一系列示例,具体每个操作的含义和结果如下:
第一种情况:
...
谢谢您,我消化消化啊,非常感谢。 wbzxz 发表于 2023-2-22 20:36
谢谢您,我消化消化啊,非常感谢。
请将解决问题的楼层设为最佳答案,不然一直挂着求助中,会覆盖真正需要帮助的帖子 wbzxz 发表于 2023-2-22 20:36
谢谢您,我消化消化啊,非常感谢。
请将解决问题的楼层设为最佳答案,不然一直挂着求助中,会覆盖真正需要帮助的帖子 期待高手解答。list:从start到end-1的每隔step个元素的子列表,没有step参数就是默认是1,但通常是end索引数字会比start大,这里出现的end索引小,怎么计算,期待高手能回答。
页:
[1]