• 在Python中,如何定义一个函数,来修改列表里的值?

    2016/08/19 泡泡泡 17 评论

我在学习python编程,从入门到实践,如果有大神有这本书,我的问题是8-10 p129下方

题目说,需要我定义一个函数,命名为the_great(),然后这个函数的功能,需要让之前列表里的每一个值的后面,多加上一个the great,也就是修改每一个值,关于这个部分书中没有详细介绍,网上查找关键字,得到了extend,但extend只是在整体后面增加,求大神帮忙解答一下

如果有本书课后习题的答案更是感激不尽

2 2 收藏


直接登录
最新评论
  • 成融融融融融 程序猿猿猿 2016/08/19

     

    不知道符合要求吗。。

    • 泡泡泡   2016/08/19

      我按照这个代码试了一下,他居然显示none,我觉得这个和楼下的没什么区别欸……你知道是怎么回事吗

      • 成融融融融融 程序猿猿猿 2016/08/19

        sorry,extend没有返回,以上要返回new_list就好了

         

  • shuanchen python 2016/08/19

     

    • 泡泡泡   2016/08/19

      谢谢亲,就是在输出函数的时候,是需要加一个print的对吧?以前没给函数加过print有点懵

    • 你好,请问为什么函数修改列表时不能直接修改原列表呢?我试着编了一个代码,但不可行

      #修改列表
      def make_great(magicians):
      for magician in magicians:
      magician = (“the great ” + magician)

      #打印魔术师
      def show_magicians(names):
      print(“\nMagicians are: “)
      for name in names:
      print(name.title())
      make_great(magicians)
      show_magicians(magicians)                 #不知道为什么逻辑不对,此处列表是否被修改?

  • the_great = map(lambda x: x + “the greate”, lst)

    • 泡泡泡   2016/08/23

      大神,你的代码我都看不太懂,可以解释一下吗

       

      • 追风筝的文鱼   2016/08/29

        map有两个参数:第一个参数接收一个函数(比如说func),第二个参数接收一个可迭代对象(比如说lst),然后迭代lst并把当前迭代值作为func的参数。说的不好,能理解么

  • 名一   2016/08/23

    要是我的话直接新增同样长度但是内容都为great 的list

    然后奇数查原始list 偶数查新增的great

    虽然方法很笨但是还是能解决楼主问题

  • 追风筝的文鱼   2016/08/29

    不推荐在遍历的过程中修改list的值,应该有个python陷阱