
Python
Pythonimport randomdef random_sort(data): random.shuffle(data) return data
这个函数接受一个列表或元组作为参数,并使用Python内置的random库中的shuffle函数对列表进行随机排序。最后返回排好序的列表。另外,如果你想要按照指定概率进行随机排序,可以先对数据进行划分成两个部分(例如70%和30%),然后在排序时只对其中一部分进行排序即可。以下是一个示例代码段:Pythonimport randomdef weighted_random_sort(data, p1, p2): n = len(data) # 分离出两个部分 ind1 = [i for i in range(n) if random.random() < p1] ind2 = [i for i in range(n) if random.random() >= p1 and random.random() < p1 + p2] # 对两个部分分别进行随机排序 d1 = sorted(data[ind1], key=lambda x: random.random()) d2 = sorted(data[ind2], key=lambda x: random.random()) # 合并排序后的两个部分 result = [] for i in range(n): if i in ind1: result.append(d1[i]) elif i in ind2: result.append(d2[i]) else: result.append(data[i]) return result
这个函数接受四个参数:一个列表、两个概率值和一个整数。首先根据给定的概率分离出要排序的两个部分,然后对这两个部分分别进行随机排序,最后合并排好序的两个部分。在排序时,我们使用了Python的lambda表达式来指定排序关键字。以上就是随机排序和按照指定概率进行随机排序的方法介绍。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号