当需要对列表或元组中的元素进行乱序处理时,Python内置的random.shuffle()
函数可以派上用场。它能够随机地打乱一个序列对象的所有元素,在做统计分析、随机取样等数据处理任务时非常有帮助。下面是详细的使用攻略:
函数签名
random.shuffle(x, random=None)
参数说明:
- x: 要洗牌的序列对象
- random: 用来打乱顺序的随机数生成器对象。
返回值
函数没有返回值,它直接修改了传入的序列对象,改变了它们的顺序。
使用实例
实例1:洗牌打乱数字序列
import random
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(numbers)
这个程序会输出类似于 [2, 3, 1, 5, 4]
的结果,说明这个列表被随机打乱了顺序。我们可以在每次运行程序时得到不同的排序结果。
实例2: 随机洗牌扑克牌
import random
# 建立一幅由ace到king的扑克牌组成的列表
faces = ['ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'jack', 'queen', 'king']
suits = ['spades', 'hearts', 'diamonds', 'clubs']
deck = [f'{face} of {suit}' for face in faces for suit in suits]
# 洗牌
random.shuffle(deck)
# 打印全部的扑克牌
for card in deck:
print(card)
这个程序使用列表推导式生成一副扑克牌,并使用shuffle()
函数随机打乱了它们的顺序。程序最后输出全部的扑克牌,其中的顺序已经被乱序处理过了。