Python程序递归中避免使用不可变数据类型

递归解题:

global ins, seclst

seclst = []

def fun(k,lst):

    """这里的lst必须是str类型的数据,str是不可变数据类型,执行lst += str(k)后,会产生新的str对象来存储字符串;

    但是list类型是可变数据类型,执行lst.append(str(k))后,不会产生新的list对象。"""

    if k == 10:

        seclst.append(lst)

        return

    if ins[k] == 0:

        fun(k+1,lst)

    lst += str(k)

    fun(k+1,lst)

if __name__ == "__main__":

    ins = list(map(int,input().strip().split()))

    lst = ''

    fun(0,lst)

    seclst.sort()

    for x in seclst:

        print(x)

相关文章:

  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-05-27
  • 2021-12-28
  • 2021-09-20
  • 2022-01-07
  • 2021-06-25
猜你喜欢
  • 2022-03-06
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2021-12-15
相关资源
相似解决方案