[英]Copying a certain number of elements from one list to another in python
我想将列表的前 n 个元素复制到另一个列表中并计算新列表的标准偏差
我已经尝试过 new_list.append(old_list) 但我无法对新列表执行数学运算。 我需要执行某些操作,并且不允许使用静态库
def sample_stdev(lst):
sum,new_sum = 0,0
new_list = []
i,j = 0,0
for x in range(20): #Copy the first 20 elements
new_list.append(lst)
new_sum+= new_list # didn't work even with new_sum+=new_list[x]
j += 1
new_mean = new_sum/j
for row in new_list:
i=i+1
error = row - new_mean
error_sq = error*error
sum = sum + error_sq
b=sum/(i-1)
std = math.sqrt(b)
return std
Error:
new_sum+= new_list[x]
TypeError: unsupported operand type(s) for +=: 'int' and 'list'
这段代码:
for x in range(20): #Copy the first 20 elements
new_list.append(lst)
没有按照评论所说的那样做; 它将所有lst
附加到new_list
20 次,使其成为列表列表(但所有指针都指向同一个列表)。
如果您只想获取lst
的前 20 个元素,可以使用数组切片语法:
new_list = lst[0:20]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.