为了账号安全,请及时绑定邮箱和手机立即绑定

如何保留附加到python列表的值

如何保留附加到python列表的值

慕的地8271018 2021-04-01 18:14:01
请使用此代码获取帮助。我希望mylist在下次调用函数'no_repeat_rule'时保留附加在其后的值。我是python的新手。我的代码如下:def no_repeat_rule(play_board):    mylist = list()    if seeds_left(play_board) == 2 and sum(play_board[:6])== 1:        mylist.append(play_board)        return mylist此代码的输出(部分)为:...[[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]]Player 1 chose cup  0[[0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]]Player 2 chose cup 6[[0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]]...我想要功能'no_repeat_rule'要做的是每次播放玩家时增加mylist。我不知道这是否足够明确以寻求帮助?
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

最简单的操作是在函数定义中添加另一个参数,如下所示:


def no_repeat_rule(play_board, aList):

在调用函数之前,请在函数外部声明一个列表。将此值设置为等于函数的结果,并在调用函数时将其作为参数传递。例如:


x = list()


def no_repeat_rule(play_board, aList):


    myList = aList

    if seeds_left(play_board) == 2 and sum(play_board[:6])== 1:

        myList.append(play_board)

        return myList


x = no_repeat_rule(someBoardHere, x)

如果我了解您的要求,我相信这应该可以解决。如果没有,请回复,我会尝试其他方法。


查看完整回答
反对 回复 2021-04-13
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您需要的是一个与功能关联的对象。它调用属性。在python中非常方便。


您的代码可能如下所示:


def no_repeat_rule(play_board):

    if not hasattr(no_repeat_rule,"mylist"):

        no_repeat_rule.mylist = []

    if seeds_left(play_board) == 2 and sum(play_board[:6])== 1:

        no_repeat_rule.mylist.append(play_board)

        return no_repeat_rule.mylist

我无法检查此代码,但它应适用于本地属性。顺便说一句,它适用于python 2.7


查看完整回答
反对 回复 2021-04-13
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号