在列表中一次使用多个功能

ema*_*nim 0 python

基本上,我有一个列表,我想立即执行多个功能.例如,

List = [1,2,3,4,5]
List.extend([1,2,3,4,5]).sort().reverse()
Run Code Online (Sandbox Code Playgroud)

我希望结果如此[5,5,4,4,3,3,2,2,1,1].

我有一段时间没有使用过Python,但我知道我之前做过类似的事情.这是简单的我缺少什么或什么?

顺便说一句,它必须在一条线上.

Joh*_*ooy 7

大多数在原地改变容器的Python方法都返回None

但是,您的示例可以轻松地在一行中处理

L = [1,2,3,4,5]
L = sorted(L+[1,2,3,4,5], reverse=True)
Run Code Online (Sandbox Code Playgroud)

保持挑战的精神,连接操作并不困难(因为他们总是返回None)

>>> L = [1, 2, 3, 4, 5]
>>> L.extend([1,2,3,4,5]) or L.sort() or L.reverse() or L
[5, 5, 4, 4, 3, 3, 2, 2, 1, 1]
Run Code Online (Sandbox Code Playgroud)

这是另一种方式

>>> L = [1, 2, 3, 4, 5]
>>> (L.extend([1,2,3,4,5]), L.sort(), L.reverse()) and L
[5, 5, 4, 4, 3, 3, 2, 2, 1, 1]
Run Code Online (Sandbox Code Playgroud)

你可以让你的想象力疯狂

>>> L = [1, 2, 3, 4, 5]
>>> max(L.extend([1,2,3,4,5]), L.sort(), L.reverse(), L) # Python2.x only
[5, 5, 4, 4, 3, 3, 2, 2, 1, 1]
Run Code Online (Sandbox Code Playgroud)

  • 这些非常*丑陋*技巧为非Python大师产生了不可读的代码,因此值得投票...请不要欺骗 (3认同)