• python 禁止函数修改列表方法


    有时候,需要禁止函数修改列表。例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案。为解决这个问题,可向函数传递列表的副本而不是原件;这样函数所做的任何修改都只影响副本,而丝毫不影响原件。

    function_name(list_name[:])

    8-9 魔术师 魔术师 :创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字。 8-10 了不起的魔术师 了不起的魔术师 :在你为完成练习

    8-9编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。调用函数show_magicians() ,确认魔术师列表确实变了。

    8-11 不变的魔术师 不变的魔术师 :修改你为完成练习8-10而编写的程序,在调用函数make_great() 时,向它传递魔术师列表的副本。由于不想修改原始列表,请返回修改后的 列表,并将其存储到另一个列表中。分别使用这两个列表来调用show_magicians() ,确认一个列表包含的是原来的魔术师名字,而另一个列表包含的是添加了字 样“the Great”的魔术师名字。

    def make_great(magicians,new_magicians):    #对列表修改的函数
        while magicians:
             current_magician = magicians.pop()    #删除原列表中的元素
             current_magician = "The Great " + current_magician
             new_magicians.append(current_magician)
    
    def show_magicians(new_magicians):
        for magician in new_magicians:
            #便利所有的magicians中的元素
            print(magician) 
    
    magicians = ['fake','ppd','moon']
    new_magicians = []
    
    make_great(magicians[:],new_magicians)#调用函数make_great 传递magicians[]副表magicians[:]
    show_magicians(new_magicians)#输出新表
    show_magicians(magicians)#输入原表

    执行结果:

    The Great moon
    The Great ppd
    The Great fake
    fake
    ppd
    moon
  • 相关阅读:
    慎用const_cast
    python中string的操作函数
    C++ Const总结
    python dict sorted 排序
    "没有找到MSVCP80D.dll,因此这个应用程序未能启动。重新安装应用程序...
    提高你开发效率的十五个 Visual Studio 使用技巧
    一些 python 插件 编译安装的注意事项
    html 制作表格 合并 样式
    将一个表的数据更新到另一个表中
    屏蔽web页面的右键,但不屏蔽输入框中的右键
  • 原文地址:https://www.cnblogs.com/HZQHZA/p/7275994.html
Copyright © 2020-2023  润新知