使foo.sort()和其他方法返回

时间:2015-11-02 07:50:45

标签: python python-2.7 methods

在Python中,每当我尝试在列表中使用.sort()random.shuffle()时,

a = [1, 3, 2].sort()
b = random.shuffle([1, 3, 2])

ab将为None,因为两种方法都会返回None

当然,我知道sorted()有一个.sort()函数。但是,random.shuffle()没有。所以解决这个问题的方法是:

a = [1, 3, 2]
random.shuffle(a)
b = a

或来自another post

b = sorted([1, 3, 2], key=lambda k: random.random())

是否有一种通用且优雅的方式将文字(由返回None的方法编辑)存储到变量中?

1 个答案:

答案 0 :(得分:0)

a = [1, 3, 2]
b = random.shuffle(a) or a[:]

这会随机播放a,并将b指向其副本。

or - 用于链接,返回第一个真值(或最后一个假)

a[:] - 复制a

注意:原始a 更改。 random.shuffle修改它所给出的任何列表(来自文档):

  

将x 序列随机播放 ...

我的建议是编写自己的随机播放方法。