我只想将列表中的每个元素除以一个 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)
但是有没有更简单/更快的方法来做到这一点?
惯用的方法是使用列表理解:
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]