Arrays 对于数组中的每个元素,如果该元素小于其上一个元素,则将其增加,直到上一个元素有一个
假设我有一个数组:list1=[8,5,3,1,1,10,15,9] 现在,如果该元素小于其前一个元素,则将其增加,直到前一个元素为1 在这里: 5<8所以5应该变成:5+3+1=9,即(8+1) 3<5所以3应该变成:3+2+1=6,即(5+1) 1<3所以1应该变成:1+2+1=4,即(3+1) 现在我可以得到元素之间的差异,如果它小于之前的元素。 但是,如何在最终列表中使用它来获得如下输出: finallist=[8,9,6,4,1,10,15,16] 另外,如何在代码中获得“k”list的最终列表值?现在它显示: [2] [2, 4] [2, 4, 3] [2, 4, 3, 3] [2,4,3,3,7] 源代码:Arrays 对于数组中的每个元素,如果该元素小于其上一个元素,则将其增加,直到上一个元素有一个,arrays,python-3.x,sorting,Arrays,Python 3.x,Sorting,假设我有一个数组:list1=[8,5,3,1,1,10,15,9] 现在,如果该元素小于其前一个元素,则将其增加,直到前一个元素为1 在这里: 5
list1 = [8, 5, 3, 1, 1, 10, 15, 9]
k = []
def comput(x):
if i[x] < i[x-1]:
num = (i[x-1] - i[x]) + 1
k.append(num)
print(k)
return
for i in [list1]:
for j in range(len(list1)):
comput(j)
list1=[8,5,3,1,1,10,15,9]
k=[]
def计算机(x):
如果i[x]
您可以使用列表理解。基本上,下面的代码将检查一个是否大于下一个。如果是,则会将其转换为上一个+1
list1 = [8, 5, 3, 1, 1, 10, 15, 9]
k = [list1[0]] + [i if j<=i else j+1 for i,j in zip(list1[1:],list1[:-1])]
cost = [j-i for i,j in zip(list1,k)]
print(k)
print(cost)
下面的代码将创建一个具有所需输出的新列表
l1 = [8, 5, 3, 1, 1, 10, 15, 9]
l = [l1[0]]
c=[0] # cost / difference list
for i in range(len(l1)-1):
if l1[i+1] < l1[i]:
l.append(l1[i]+1)
c.append(l1[i]+1-l1[i+1])
else:
l.append(l1[i+1])
c.append(0)
print(l)
这是最后的名单。我还想要增加的成本。比如5增加了4。3增加了3。那么,如何获得增量值呢?我得到了[2,4,3,3,7],这是正确的。怎么到这里?或者更好:我们可以得到一份成本清单,比如:[0,4,3,3,0,0,0,7,2]?@TarakShah更新!使用了一个单独的列表
c
来区分差异。只是好奇!如果我想增加我的最终选手,我会怎么做?这里我们得到的最终列表是[8,9,6,4,1,10,15,16],所以应用相同的逻辑,我们可以将最终列表作为[8,9,10,11,12,13,15,16]吗?只需将l1
更改为[8,9,6,4,1,10,15,16]
。如果要在初始l1
上执行两次此操作,请定义一个函数并运行两次。这是最终列表。我还想要增加的成本。比如5增加了4。3增加了3。那么,如何获得增量值呢?我得到了[2,4,3,3,7],这是正确的。怎么到这里?或者更好:我们可以得到一个成本清单,比如:[0,4,3,3,0,0,0,7]?伙计,我刚得到我:D@Tarak我更新了我的答案。如果我帮了你,如果你能标记为解决方案/投票,那会有很大帮助。只是好奇而已!如果我想增加我的最终选手,我会怎么做?这里我们得到的最终列表是[8,9,6,4,1,10,15,16],所以应用同样的逻辑,我们能把最终列表变成[8,9,10,11,12,13,15,16]吗??
l1 = [8, 5, 3, 1, 1, 10, 15, 9]
l = [l1[0]]
c=[0] # cost / difference list
for i in range(len(l1)-1):
if l1[i+1] < l1[i]:
l.append(l1[i]+1)
c.append(l1[i]+1-l1[i+1])
else:
l.append(l1[i+1])
c.append(0)
print(l)
[8, 9, 6, 4, 1, 10, 15, 16]
[0, 4, 3, 3, 0, 0, 0, 7]