Python函数:如何将列表中的元素随机排序?
发布时间:2023-07-01 17:34:53
Python中可以使用random模块的shuffle函数来随机排序列表中的元素。shuffle函数会直接改变原来的列表,将其中的元素打乱顺序。
下面是一个例子,演示如何使用shuffle函数随机排序列表中的元素:
import random
def random_sort(lst):
random.shuffle(lst)
return lst
# 测试
my_list = [1, 2, 3, 4, 5]
print(random_sort(my_list))
代码执行的结果可能是:[3, 5, 4, 1, 2]。
这里的random_sort函数接受一个列表作为参数,然后调用shuffle函数对列表进行随机排序,最后返回排序后的列表。
需要注意的是,shuffle函数改变的是列表本身,并没有返回一个新的列表。如果需要保留原来的列表并得到一个随机排序后的新列表,可以在函数内部使用切片操作生成一个新的列表:
import random
def random_sort(lst):
new_list = lst[:]
random.shuffle(new_list)
return new_list
# 测试
my_list = [1, 2, 3, 4, 5]
result = random_sort(my_list)
print(my_list) # [1, 2, 3, 4, 5]
print(result) # [3, 5, 1, 2, 4]
这样,原来的my_list不会改变,而result中包含了随机排序后的元素。
shuffle函数的时间复杂度为O(n),其中n为列表的长度。这是由于shuffle函数需要对列表中的元素进行交换操作来实现随机排序。
