【问题标题】:Question about reversed lists in Python关于Python中反向列表的问题
【发布时间】:2011-04-29 22:23:43
【问题描述】:

我对 python 很陌生,你会知道的。

如果我有一个清单:

a = [1,2,3,2,1]

这评估为真:

a == a[::-1]

...但结果为假:

a == a.reverse()

为什么会这样?

【问题讨论】:

    标签: python list equivalence


    【解决方案1】:

    因为.reverse() 原地反转列表并返回无:

    >>> print a.reverse()
    None
    

    a == None 的计算结果为False

    【讨论】:

      【解决方案2】:

      a.reverse()没有返回值,所以比较是 a==无 这是错误的

      您可以通过以下方式检查:

      >>> str(a.reversed())
      'None'
      

      更好:

      >>> (id(a.reverse()), id(None))
      

      你会看到相同的地址

      【讨论】:

        【解决方案3】:

        如果您想要列表的新副本,请改用 reversed()。

        a == list(reversed(a))
        

        【讨论】:

        • 多年的 Python 和我不知道颠倒了
        • 优秀:Google 搜索显示排序的相同功能。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多