首页 > 解决方案 > 试图以恒定速率从列表列表中减去

问题描述

我想要一堆相关值的列表,并且我希望这些数字都以相同的速度减少。例如:

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

biglist=[myList, myList1]

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

这个脚本显然不起作用,因为你不能从列表中减去一个,而且我不太确定要问什么才能在这里找到要做什么,所以我很感激能帮助你摆脱困境。:)

标签: pythonpython-3.xlist

解决方案


一种方法是使用列表推导:

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

biglist = [myList, myList1]

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

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

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

print(biglist)

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

推荐阅读