list如何除以一个数,有如下两种方法:
import random
my_list = [random.randint(0, 100) for x in range(10)]
print(my_list)
my_list /= 10
print(new_list)
如果直接使用 my_list除以一个数,会提示TypeError: unsupported operand type(s) for /=: 'list' and 'int'
,对应的解决方法如下
新建一个list,存放数据
下面的核心为:new_list = [x/10 for x in my_list]
import random
my_list = [random.randint(0, 100) for x in range(10)]
print("before:", my_list)
new_list = [x/10 for x in my_list]
print("after :", my_list)
print("new :", new_list)
代码对应的结果为:
当然了,这里可以把结果仍然赋值给my_list,不过位置已经改变,程序如下:
import random
my_list = [random.randint(0, 100) for x in range(10)]
print("before:", id(my_list), "value:", my_list)
my_list = [x/10 for x in my_list]
print("after :", id(my_list), "value:", my_list)
输出结果为:
before: 4748790984 value: [31, 14, 11, 97, 58, 90, 100, 80, 35, 38]
after : 4748791112 value: [3.1, 1.4, 1.1, 9.7, 5.8, 9.0, 10.0, 8.0, 3.5, 3.8]
使用numpy – np.divide
import random
import numpy as np
arr = np.array([random.randint(0, 100) for x in range(10)])
print("before:", id(arr), "value:", arr)
arr = np.divide(arr, 10)
print("after :", id(arr), "value:", arr)
输出结果为:
before: 4763023680 value: [18 14 56 22 6 64 99 24 16 97]
after : 4763260608 value: [1.8 1.4 5.6 2.2 0.6 6.4 9.9 2.4 1.6 9.7]