【问题标题】:How to make this list reversing algo more efficient python [duplicate]如何使这个列表反转算法更有效的python [重复]
【发布时间】:2016-04-25 04:33:54
【问题描述】:

我正在尝试反转各种列表,我觉得我的代码有些优雅,谁能让它更漂亮?

board = [1,2,3,5]
board = [config[len(config)-1-i] for i,house in enumerate(config)]
print board

#expected output [5,3,2,1]

【问题讨论】:

  • 好吧,我刚刚意识到有 reverse() 函数。仍然不使用它,我们如何使用基本运算符来反转列表
  • 看看切片语法list[start:end:step]你可以简单地做list[::-1]
  • 你想要更漂亮还是更高效?题名问A,题内容问B
  • 为什么需要倒车?

标签: python algorithm


【解决方案1】:

这应该做你想做的:

In [2]: board[::-1]
Out[2]: [5, 3, 2, 1]

请看这里:https://docs.python.org/2/library/functions.html#slice

对于生成器,请参见此处:https://docs.python.org/2/library/itertools.html#itertools.islice

【讨论】:

    【解决方案2】:

    用途:

    In[45]: board = [1,2,3,5]
    
    In[46]: board.reverse()
    
    In[47]: board
    Out[47]: [5, 3, 2, 1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      • 2016-03-24
      • 2020-03-10
      • 2016-11-30
      • 2017-02-27
      • 2019-07-05
      相关资源
      最近更新 更多