Python提供了列表切片功能,但对于这个 问题,您将实现能够生产 列表切片(你自己的功能注:你不能在你的 解决方案使用切片运算符)。该功能应该被称为
slice
,并采取以下 三个输入在这个特定的顺序:列表分片,而无需使用切片功能
- 名单,
source
,这片将被创建。这个列表不能被你的函数修改。- 一个正整数,
start
,表示您要创建的切片的起始索引。如果这个值不在[0, len(list)-1]
的范围内,你的函数应该返回一个空列表。- 一个正整数,
end
,表示您将创建的切片的结束索引。如果这个值不在[start, len(list)-1]
的范围内,你的函数应该返回一个空列表。如果 参数值是可以接受的,你的函数将返回 包含
source
项目开始指数start
在和指数end
(含)在结束 列表。这与Python切片 运算符不同,因为索引end
上的项目也包含在新的 列表中。
这是我走到这一步:
list1 = []
def slice(list1):
list1 = list(input("enter a list"))
emptylist = []
st = int(input("enter start"))
ed = int(input("enter end"))
if ed not in range(st,len(list1)-1) or st not in range(0,len(list1)-1):
print(emptylist)
else:
list2 = []
for i in list1:
list2.append(list1[i])
return(list2)
print(slice(list1))
您的作业说明中没有提及采取用户输入。或者至少,我相当肯定你的功能应该把这些作为参数*。 –
@ juanpa.arrivillaga该列表必须从用户处获得,并且不能由该功能操作或更改。 1 - 将从中创建切片的列表,来源。这个列表不能被你的函数修改。 – sal
您的解决方案对我来说很好。你尝试过吗?为了补充juanpa所说的话,函数不应该要求参数。它应该是这样的:def slice(List,start,end):'这种方式应该被声明。 –