load_list_data函数中随机取target_num数量字符串的问题
来源:6-5 dict和set的实现原理

weixin_精慕门6437911
2024-07-04
for x in range(target_nums):
random_index = randint(0, total_nums)
if all_data[random_index] not in target_data:
target_data.append(all_data[random_index])
if len(target_data) == target_nums:
break
如果random_index出现重复的数字,那么获取的总数就不是指定的数目了
写回答
1回答
-
bobby
2024-07-19
是的,可以使用集合来去重,或者直接从
all_data
中删除已经选过的元素。from random import randint all_data = [...] # 假设这是你的数据列表target_nums = 10 # 假设你想选择10个字符串target_data = []for _ in range(target_nums): random_index = randint(0, len(all_data) - 1) target_data.append(all_data.pop(random_index))# 此时 all_data 中会少了 target_nums 个元素,而 target_data 则有 target_nums 个不重复的元素
00
相似问题