在Python中,每当我尝试在列表中使用.sort()
或random.shuffle()
时,
a = [1, 3, 2].sort()
b = random.shuffle([1, 3, 2])
a
和b
将为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
的方法编辑)存储到变量中?
答案 0 :(得分:0)
a = [1, 3, 2]
b = random.shuffle(a) or a[:]
这会随机播放a
,并将b
指向其副本。
or
- 用于链接,返回第一个真值(或最后一个假)
a[:]
- 复制a
注意:原始a
将更改。 random.shuffle
修改它所给出的任何列表(来自文档):
将x 序列随机播放 ...
我的建议是编写自己的随机播放方法。