Python 初始化列表并找到该列表的平均值

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::

我的第一个函数获取一个数字列表(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::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)。而且,你不需要一开始就这样肤浅地复制它,因为你永远不会变异它。