Python 3.x 如何在不使用del/pop/splicing/index/remove/find方法的情况下删除列表中的第一个元素?

Python 3.x 如何在不使用del/pop/splicing/index/remove/find方法的情况下删除列表中的第一个元素?,python-3.x,Python 3.x,我是编程新手,我的代码有点问题。我需要在不使用上述任何方法的情况下删除列表中的第一个元素。到目前为止,我所拥有的: user_string = str(input("Enter a one-character string")) user_string = user_string.lower() user_list = [1,2,3] def choiceN(user_list): #goes to this function if the user enters n as user

我是编程新手,我的代码有点问题。我需要在不使用上述任何方法的情况下删除列表中的第一个元素。到目前为止,我所拥有的:

user_string = str(input("Enter a one-character string"))
user_string = user_string.lower()
user_list = [1,2,3]

def choiceN(user_list):      #goes to this function if the user enters n as user_string
temp_list = []
for i in range(1, len(user_list)):
    temp_list.append(user_list[i])
    return temp_list

我看不出哪里出了问题。由于我是编程新手,任何解释都将不胜感激。谢谢。

仅复制第二个元素到最后一个元素的列表,并删除第一个列表

只需从循环外部返回列表(更正缩进,这都是错误的)
返回用户列表[1://code>?等等,我想你的头衔说你不能这么做?你为什么不能?这是一种学习练习吗?你为什么故意不按设计使用这些工具?嗨,谢谢你拿起压痕。我已经纠正了这一点。这将返回一个空列表,而不是删除列表中的第一个元素1。我需要它只删除第一个元素,但返回其他元素。谢谢。@RocketHazmat,不幸的是,拼接是不允许的。@RocketHazmat,是的,这是一个学习练习,出于某种原因,我们不允许使用这些方法。如果用户还可以用另一个函数修改列表,这行得通吗?例如,如果他们可以添加元素,因为列表最初以空开头。我只是把元素放在里面看看发生了什么,这取决于你写代码的方式。编写代码来处理何时删除列表以及何时创建新列表,以便不存在异常。可能。程序需要返回原始列表,因此我在上面添加了
temp\u list=user\u list
,并将其更改为返回user\u list。因此,我无法删除第一个列表。因此,您是否只想创建和修改列表的副本?保留原始列表作为参考?创建指向原始列表值的指针,以便不修改原始列表值,而只修改指针值?不太确定你想做什么我已经弄明白了-我必须将“user_list”设置为全局变量,并将列表返回到for循环之外。谢谢你的帮助。