欢迎访问宙启技术站
智能推送

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函数需要对列表中的元素进行交换操作来实现随机排序。