Python 初始化列表并找到该列表的平均值
我的第一个函数获取一个数字列表(L)并找到平均值,它工作得很好Python 初始化列表并找到该列表的平均值,python,list,python-2.7,for-loop,initialization,Python,List,Python 2.7,For Loop,Initialization,我的第一个函数获取一个数字列表(L)并找到平均值,它工作得很好 def mean(L): x=sum(L) print x/float(len(L)) 在我的第二个函数中,我试图要求用户输入10个元素,将它们初始化到一个列表中,然后使用第一个函数mean(L)找到列表的平均值: def Values(): L=[raw_input('enter element ') for i in range (0,10)] L=L[0::1] print L[0::
def mean(L):
x=sum(L)
print x/float(len(L))
在我的第二个函数中,我试图要求用户输入10个元素,将它们初始化到一个列表中,然后使用第一个函数mean(L)找到列表的平均值:
def Values():
L=[raw_input('enter element ') for i in range (0,10)]
L=L[0::1]
print L[0::1]
print mean(L)
但我一直收到这样的错误信息:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
raw\u input
返回一个字符串。将其转换为数字类型,如int
,float
,…:
L = [float(raw_input('enter element ')) for i in range (3)]
函数
mean
当前打印结果。最好让它返回结果,这样打印意味着(L)
将打印结果,而不是None
离题:浅层复制列表的标准方法是L[:]
,而不是L[0::1]
。0
和1
是隐含的,在Python2上,通过显式地传递步骤,您实际上使用了一个较慢的接口(\uuuuuu getitem\uuuuuu
)和一个切片
,而不是两个C
级别ssize\u t
s)。而且,你不需要一开始就这样肤浅地复制它,因为你永远不会变异它。