在不使用内建的情况下在Python中列表切片
我对编程非常陌生,目前我坚持一个涉及列表切片而不使用内置函数的实践问题,所以我们的想法是创建自己的切片函数供用户调用。 以下是我试图解决的问题。 任何帮助表示赞赏。 谢谢!
Python为列表提供了切片功能,但对于这个问题,您将实现自己的能够生成列表切片的功能(注意:您不能在解决方案中使用切片操作符)。 该函数应该被称为slice,并按照以下特定顺序接受以下三个输入:
如果参数值是可接受的,你的函数将返回一个列表,其中包含从索引开始到索引结束(包含)结束的来自源的项目。 这与Python切片操作符不同,因为索引末尾的项目也包含在新列表中。
例子:
mylist = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
slice(mylist, 0, 9) should be ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"] slice(mylist, 3, 4) should be ["D", "E"]
slice(mylist, 4, 3) should be [ ]
slice(mylist, 3, 8) should be ["D", "E", "F", "G", "H", "I"]
slice(mylist, 4, 4) should be ["E" ]
我的代码:
source=int(input("Enter a list: "))
start=int(input("Enter the starting digit: "))
end=int(input("Enter the ending digit: "))
def slice(source,start,end):
if start is not [0, len(source)-1]:
print()
elif end is not [start, len(source)-1]:
print()
source.append(0,start)
source.append(len(source),end)
slice[]
想象出它自己,谢谢你试图帮助,而不是居高临下@lmiguelvargasf我真的很感激。
start = int(input(" Enter the starting index of the slice you will create: "))
end = int(input("Enter the ending index of the slice you will create: "))
def slice(source, start, end):
myList = []
for i in range(start, end+1):
if start in range(0, len(source)) and end in range(start, len(source)):
myList.append(source[i])
return myList
myList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] #This is the source
print(slice(myList,start,end))
链接地址: http://www.djcxy.com/p/26761.html
上一篇: List Slicing in Python Without Using Built
下一篇: Is list[i:j] guaranteed to be an empty list if list[j] precedes list[i]?