试图以恒定速率从列表列表中减去

时间:2018-05-10 16:51:17

标签: python python-3.x list

我想要一堆相关值的列表,我希望所有数字都以相同的速率减少。例如:

myList=["dog", 5]
myList1=["cat", 3]

biglist=[myList, myList1]

#have all numeral values in biglist decrease by 1
biglist-=1
print(biglist)

这个剧本显然不起作用,因为你不能从列表中减去一个,我不太清楚要问什么在这里做什么,所以我很欣赏一些帮助你解决问题。 :)

1 个答案:

答案 0 :(得分:0)

一种方法是使用列表理解:

myList = ["dog", 5]
myList1 = ["cat", 3]

biglist = [myList, myList1]

res = [[i, j-1] for i, j in biglist]

如果您不想创建新列表,可以使用常规for循环,迭代range

for i in range(len(biglist)):
    biglist[i][1] -= 1

print(biglist)

[['dog', 4], ['cat', 2]]