python程序。如何按整个列表的升序排列元素并删除不遵循增长的项目?没有使用我在这里做的最大值
def ascending_num(L1):
L2 = [L1[0]]
for i in range(1,len(L1)):
if L1[i] > max(L1[0:i]):`enter code here
L2.append(L1[i])
return L2
print(ascendents_num([2,4,3,5,6,8]))
为例
[2,4,3,5,6,8]
[2,4,5,6,8]
答案 0 :(得分:1)
max可以省略,你可以一次迭代2个元素,如果下一个元素大于最后一个元素,它将被附加到新列表。
li = [2,4,3,5,6,8]
li = [li[0]] + [j for i, j in zip(li, li[1:]) if i < j]
print(li)
zip返回一系列元组,每个元素都包含两个连续元素,因为第二个元素在第二个元素之前通过切片移动。
如果你想把它写成一个函数,可以这样做:
li = [2,4,3,5,6,8]
def eliminate(li):
return [li[0]] + [j for i, j in zip(li, li[1:]) if i < j]
print(eliminate(li))