【发布时间】:2014-02-18 07:27:57
【问题描述】:
有可能吗?显然x[1:-1].sort() 不起作用,因为切片是副本。
当前解决方法:
>>> x = [4, 3, 1, 2, 5]
>>> s = slice(1, -1)
>>> x[s] = sorted(x[s])
>>> x
[4, 1, 2, 3, 5]
我能以某种方式在 python 列表中获得 view 吗?
【问题讨论】:
-
现在在 python 中存在一个列表视图,afaik,因为它存在于 dict 的(dict.viewkey 等)。我在列表中看不到任何视图的用例,那么视图是什么意思以及它应该提供什么? (
b=x会是某种视图,虽然它很没用)。 -
x[1:-1] = sorted(x[1:-1])在我看来相当简洁。你为什么不喜欢它? -
我猜你是对的。取切片是 O(n) 但这无关紧要,因为无论如何排序都是 O(n*log(n))
标签: python list sorting view slice