【问题标题】:Reverse the order of a list颠倒列表的顺序
【发布时间】:2014-12-08 01:54:53
【问题描述】:

我需要它来反转列表中的内容,无论我现在运行它时它的数字或单词,它都会打印None。我需要它来打印反向列表。有人可以帮忙吗?

def func4(x):
    print(x.reverse())
    return;
e = ['baby','egg','chicken']
func4(e)

【问题讨论】:

    标签: python list reverse


    【解决方案1】:

    您的代码实际上按预期工作;它可以很好地反转列表。它打印None 的原因是因为list.reverse 是一个始终返回None 的就地方法。

    因此,您应该在自己的线路上调用reverse

    def func4(x):
        x.reverse()
        print(x)
    e = ['baby','egg','chicken']
    func4(e)
    

    现在,print 将打印反向列表,而不是 reverse 返回的 None

    请注意,相同的原则适用于list.appendlist.extend,以及几乎所有其他在 Python 中改变对象的方法。

    另外,我从函数末尾删除了 return 语句,因为它没有做任何有用的事情。默认情况下,Python 函数已经返回 None,因此没有理由显式这样做。

    【讨论】:

      【解决方案2】:

      你可以切片:

      e = ['baby','egg','chicken']
      f = e[::-1]
      print(f)
      

      【讨论】:

      • 为什么投反对票?我同意这比reversed 方法更强大...
      【解决方案3】:

      x.reverse() 不返回反转列表,它只是反转它。撤消后需要单独拨打print(x)

      【讨论】:

        【解决方案4】:

        使用“反转”功能的简单方法:

        for str in reversed(e):
            print(str)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-10
          • 1970-01-01
          • 2015-06-21
          • 1970-01-01
          • 2018-01-05
          • 2012-10-10
          • 2018-04-15
          • 1970-01-01
          相关资源
          最近更新 更多