题目是:从一个有序列表中任取几个值组成新的列表
以下有2种思路去实现
1. 把那列表任意排列,截取尾巴上面的指定长度
import randomtotal = 100onetime = 7x_list = [i for i in range(1, total+1)]# 这个是打乱一个列表的方法,shuffle是random模块-->Random类-->shuffle方法# _inst = Random()# shuffle = _inst.shuffle# 通过这来调用,又get到一个新技能random.shuffle(x_list)new_list = x_list[(-1 * onetime):]print(sorted(new_list))
2. 每次都从列表里面随机取一个数,连取7次
import randomtotal = 100onetime = 7old_list = [i for i in range(1, total+1)]new_list = []for _ in range(0, onetime): # 这里的k可以为任意整数,返回的是一个列表,但是列表里面有重复值,所以我每次只取一个 a = random.choices(old_list, k=1) num = a[0] old_list.remove(num) new_list.append(num)print(sorted(new_list))
大家觉得哪种好呢?下面为一个彩蛋
random.sample(range(1, n+1), m)