List 选择性地将列表中的元素追加到新列表

List 选择性地将列表中的元素追加到新列表,list,python-2.7,elements,next,yield,List,Python 2.7,Elements,Next,Yield,使用“序列”一词的松散定义,我有一个包含2000多个元素(序列号)的列表,对于每个短序列,我想将最高的数字附加到一个单独的列表中。以下是我的数据的一个代表性的简化示例: #seqNums=['01','02','01','02','03','01','01','02','03','04','01','02','03','01','02','03','05'. 在本例中,我希望将元素1、4、5、9、12和17添加到一个新列表中,使其看起来像下面的“newSeqNums” #newSeqNums=[

使用“序列”一词的松散定义,我有一个包含2000多个元素(序列号)的列表,对于每个短序列,我想将最高的数字附加到一个单独的列表中。以下是我的数据的一个代表性的简化示例:

#seqNums=['01','02','01','02','03','01','01','02','03','04','01','02','03','01','02','03','05'.

在本例中,我希望将元素1、4、5、9、12和17添加到一个新列表中,使其看起来像下面的“newSeqNums”

#newSeqNums=['02','03','01','04','03','05']

我尝试了很多不同的方法,下面的代码是我可以在列表中提前阅读的代码,但它不起作用。有什么建议吗

seqNums = ['01', '02', '01', '02', '03', '01', '01', '02', '03', '04', '01', '02', '03', '01', '02', '03', '04', '05']
newSeqNums = []
def readAhead(seqNums):
    for item in seqNums:
        yield item
    yield None

items = readAhead(seqNums)
item = items.next()          # get first item

while item:
    nextItem = items.next()  # get next item
    if item < nextItem:
        pass
    else:
        newSeqNums.append(nextItem)
    item = items.next()

print newSeqNums
print len(newSeqNums)

'''
# output for above code
['01', '01']
2
'''
seqNums=['01','02','01','02','03','01','02','03','04','01','02','03','01','02','03','05']
newSeqNums=[]
def预读(seqNums):
对于seqNums中的项目:
收益项目
一无所获
项目=预读(seqNums)
item=items.next()#获取第一项
而项目:
nextItem=items.next()#获取下一项
如果项目
我不知道为什么我在这件事上遇到了如此困难,但像往常一样(至少就我而言),解决方案比我想象的要简单,我倾向于过度思考。总之,下面的代码给出了我想要的解决方案

seqNums = ['01', '02', '01', '02', '03', '01', '01', '02', '03', '04', '01', '02', '03', '01', '02', '03', '04', '05']
newSeqNums = []
for i in range(len(seqNums)):
    if seqNums[i] == seqNums[-1]:
        newSeqNums.append(seqNums[-1])
    elif seqNums[i] < seqNums[i + 1]:
        pass
    else:
        newSeqNums.append(seqNums[i])
print newSeqNums


'''
# output for above code
['02', '03', '01', '04', '03', '05']
''''
seqNums=['01','02','01','02','03','01','02','03','04','01','02','03','01','02','03','05']
newSeqNums=[]
对于范围内的i(len(seqNums)):
如果seqNums[i]==seqNums[-1]:
newSeqNums.append(seqNums[-1])
elif seqNums[i]
上述解决方案能否转换为列表?