看不懂这段代码在干什么,求解[face]emoji:029.png[/face]
3条回答 默认 最新
- CSDN专家-深度学习进阶 2021-05-14 10:48关注
你这个是查找给定序列的最长递增子序列的吧,如果number大于end-start,返回空;否则先进行range(start,end)举个例子
range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]
然后
返回sample(range(start,end),number)
sample(序列a,n)
功能:从序列a中随机抽取n个元素,并将n个元素以list形式返回。
def subAscendingList(lst): '''返回最长递增子序列''' for length in range(len(lst), 0, -1): #按长度递减的顺序进行查找和判断 for sub in combinations(lst, length): #判断当前选择的子序列是否为递增顺序 if list(sub) == sorted(sub): #找到第一个就返回 return sub def getList(start=0, end=1000, number=20): '''生成随机序列''' if number > end-start: return None return sample(range(start, end), number)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 MATLAB仿真三相桥式全控整流电路
- ¥15 EDA技术关于时序电路设计
- ¥15 百度文心一言流式返回sse失败
- ¥15 由于远程方已关闭传输流,身份验证失败
- ¥15 rt-detr,PCB,目标检测
- ¥15 有偿求指导实证代码。cfps清洗合并后,无论是构建平衡面板还是非平衡面板,都是只剩几百个样本量。求指导一下哪里出问题了,不要潦草回复
- ¥15 mutlinichenet
- ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?
- ¥15 STM32多路复用器ADC采样
- ¥20 Linux(ubuntu)操作相关问题