小编典典

如何将列表中的每个元素除以 int?

all

我只想将列表中的每个元素除以一个 int。

myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt

这是错误:

TypeError: unsupported operand type(s) for /: 'list' and 'int'

我明白为什么我会收到此错误。但我很沮丧,我找不到解决方案。

也试过:

newList = [ a/b for a, b in (myList,myInt)]

错误:

ValueError: too many values to unpack

预期结果:

newList = [1,2,3,4,5,6,7,8,9]

编辑:

以下代码给了我预期的结果:

newList = []
for x in myList:
    newList.append(x/myInt)

但是有没有更简单/更快的方法来做到这一点?


阅读 62

收藏
2022-07-12

共1个答案

小编典典

惯用的方法是使用列表理解:

myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = [x / myInt for x in myList]

或者,如果您需要维护对原始列表的引用:

myList[:] = [x / myInt for x in myList]
2022-07-12