Python 为什么我的函数不能正确添加列表?

Python 为什么我的函数不能正确添加列表?,python,list,function,merge,add,Python,List,Function,Merge,Add,这是我为一个程序编写的函数,它应该将一个值在列表中向下移动一点 def移动卡(甲板): 但是,除非我在函数本身中打印它,否则它不会正确地添加这两个列表 使用文本列表卡运行函数=[24,27,2,5,8,11]打印出正确的列表,即[24,2,27,5,8,11]。然而,如果在运行我得到的方法之后,我只是简单地询问卡片的价值 [24, 2, 5, 8, 11]. 知道为什么会这样吗 编辑 这是我的职责: def move_joker_1(甲板): 这是我在shel/results中键入的内容: 卡片

这是我为一个程序编写的函数,它应该将一个值在列表中向下移动一点

def移动卡(甲板):

但是,除非我在函数本身中打印它,否则它不会正确地添加这两个列表

使用文本列表卡运行函数=[24,27,2,5,8,11]打印出正确的列表,即[24,2,27,5,8,11]。然而,如果在运行我得到的方法之后,我只是简单地询问卡片的价值 [24, 2, 5, 8, 11]. 知道为什么会这样吗

编辑 这是我的职责:

def move_joker_1(甲板):

这是我在shel/results中键入的内容:

卡片=[24,27,2,5,8,11]

移动小丑1(卡片)

[24,2,27,5,8,11]

[24,2,27,5,8,11]

打印(卡片)

[24,2,5,8,11]

我想你的问题是:

moveCard
函数中,有一个名为
deck
的参数。首先你要这样做:

deck.pop(index)
这是在修改传入的实际列表,因此调用者将看到它

然后,稍后:

deck = left + right
这并没有改变任何东西;它正在创建一个新列表,
left+right
,并将局部变量
deck
更改为新列表的名称,而不是旧列表的名称


您可能希望在这里返回新列表,以便调用者可以将其存储在任何他想要的地方。但在这种情况下,您不希望使用
pop
对原始列表进行变异


或者,您可以同时修改列表,例如,通过编辑写入
卡片组[:]=left+right
:您没有修改
卡片列表。您应该在函数中放入一个
return
语句,然后按如下方式调用该函数:
cards=move\u joker\u 1(cards)

能否修复缩进,使其与代码匹配?
print
deck=…
行是否是
moveCard
函数的一部分?另外,除了用英语描述测试它所做的工作外,你能用代码来说明吗?“简单地询问卡片的价值”是什么意思?@abarnert我编辑了它,这样可以吗?首先,不要在末尾添加一个
编辑:
,使用相同信息的不同版本。编辑一下就行了。如果人们想查看旧版本,可以单击历史记录。其次,您必须将代码格式化为代码。选择它,然后单击
{}
按钮。
deck.pop(index)
deck = left + right