Python 有没有一种方法可以在不复制列表的情况下获取列表片段的其余部分

Python 有没有一种方法可以在不复制列表的情况下获取列表片段的其余部分,python,string,list,python-3.x,split,Python,String,List,Python 3.x,Split,使用python中的字符串,我可以通过这样做很容易地获得切片的剩余部分 my_string = 'pythonisawesome' print(my_string.replace(my_string[6:8], '')) print(my_string) 这个输出 pythonwesome pythonisawesome 我不需要复制字符串,因为python字符串是不可变的,所以第一个结果被丢弃,因为没有为它指定名称,并且我的_字符串保持不变 但此操作不适用于列表,因为列表是可变的,例如:

使用python中的字符串,我可以通过这样做很容易地获得切片的剩余部分

my_string = 'pythonisawesome'
print(my_string.replace(my_string[6:8], ''))

print(my_string)
这个输出

pythonwesome
pythonisawesome
我不需要复制字符串,因为python字符串是不可变的,所以第一个结果被丢弃,因为没有为它指定名称,并且我的_字符串保持不变

但此操作不适用于列表,因为列表是可变的,例如:

my_list = [1,2,3,4,5,6,7,8,9,10]
del my_list[6:8] # or my_list[6:8] = ''

print(my_list)
输出

[1, 2, 3, 4, 5, 6, 9, 10]
另外,我还发现有点奇怪,在我删除片段时,
my_list
被修改了,我相信片段应该作为副本剪切列表的一部分,而不是像索引那样操作

因为这样做:

my_otherlist = my_list[:]
创建列表的新副本(不嵌套时),可以在不影响原始列表的情况下进行修改

我要讲的要点是python应该有一个方法,该方法获取切片并返回切片的其余部分

list.chooff[:]


也许有一个方法,但我在标准库中没有遇到它。

我不明白Python应该有一个方法,它接受切片并返回切片的剩余部分。你介意加一个例子吗?你把事情搞混了
replace
与切片无关,它的第一个参数不必是切片,只要是任何字符串:它是一种模式匹配算法,找到给定的子字符串并用相应的值替换它。否:这种算法只为字符串提供,
list
s和其他类型只包含
index
之类的内容,但没有内置的
replace(sublist,other)
。如果不从列表中删除元素,
del my_list[6:8]
有什么意义呢?@GeorgSchölly,这里已经有一个例子,我想取一个片段,但不是取回我想要的片段,而是取回不是片段的片段,我想这是你必须问python开发人员的问题,如果您想要一个新的列表,您必须手动执行,如
new=my_list[:6]+my_list[8:][/code>或一些变体,您也可以使用自己的实现