python中lst函数 python中lst函数的用法

如何用python编一个函数,对输入的任意多个数进行求平均值。任意多个数!

lst = [] #定义一个空列表

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了宁陵免费建站欢迎大家使用!

str = raw_input("请输入数值,用空格隔开:")

lst1 = str.split(" ")#lst1用来存储输入的字符串,用空格分割

i = 0

while i = len(lst1)+1:

lst.append(int(lst1.pop()))#将lst1的数据转换为整型并赋值给lst

i += 1

#print(lst)

def sum(list):

"对列表的数值求和"

s = 0

for x in list:

s += x

return s

def average(list):

"对列表数据求平均值"

avg = 0

avg = sum(list)/(len(list)*1.0) #调用sum函数求和

return avg

print("avg = %f"%average(lst))

扩展资料:

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

python怎样以带下标的list作为函数参数

def fun(lst):

a = lst[1] + lst[-1]

return a

lst = range(10)  # range(n) returns a list [0, 1, ..., n-1]

print fun(lst)

就像上面的,直接写就好,在定义函数的时候,并不需要指定参数类型,你传进来是什么就是什么,你只需要保证传进来的是list就好了,不然在使用下标的时候,就会报错。

当然,为了保证程序的健壮性,你可以加一个判断,如下:

def fun(lst):

if type(lst) == type([]):

a = lst[1] + lst[-1]

return a

else:

print 'The arg is not a list'

lst = range(10)

print fun(lst)

深入理解Python reduce函数

例如上面的例子,实现一个整形集合的累加。假设lst = [1,2,3,4,5],实现累加的方式有很多:

第一种:用sum函数。

sum(lst)

第二种:循环方式。

def customer_sum(lst):

result = 0

for x in lst:

result+=x

return result

def customer_sum(lst):

result = 0

while lst:

temp = lst.pop(0)

result+=temp

return result

if name ==" main ":

lst = [1,2,3,4,5]

print customer_sum(lst)

第三种:递推求和

def add(lst,result):

if lst:

temp = lst.pop(0)

temp+=result

return add(lst,temp)

else:

return result

if name ==" main ":

lst = [1,2,3,4,5]

print add(lst,0)

第四种:reduce方式

lst = [1,2,3,4,5]

print reduce(lambda x,y:x+y,lst)

lst = [1,2,3,4,5]

print reduce(lambda x,y:x+y,lst,0)

def add(x,y):

return x+y

print reduce(add, lst)

def add(x,y):

return x+y

print reduce(add, lst,0)

有一个序列集合,例如[1,1,2,3,2,3,3,5,6,7,7,6,5,5,5],统计这个集合所有键的重复个数,例如1出现了两次,2出现了两次等。大致的思路就是用字典存储,元素就是字典的key,出现的次数就是字典的value。方法依然很多

第一种:for循环判断

def statistics(lst):

dic = {}

for k in lst:

if not k in dic:

dic[k] = 1

else:

dic[k] +=1

return dic

lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]

print(statistics(lst))

第二种:比较取巧的,先把列表用set方式去重,然后用列表的count方法

def statistics2(lst):

m = set(lst)

dic = {}

for x in m:

dic[x] = lst.count(x)

lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]

print statistics2(lst)

第三种:用reduce方式

def statistics(dic,k):

if not k in dic:

dic[k] = 1

else:

dic[k] +=1

return dic

lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]

print reduce(statistics,lst,{})

或者

d = {}

d.extend(lst)

print reduce(statistics,d)

通过上面的例子发现,凡是要对一个集合进行操作的,并且要有一个统计结果的,能够用循环或者递归方式解决的问题,一般情况下都可以用reduce方式实现。

python lst求平均

思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的数据转存入另一个空列表(lst)中,转存时将字符串转化为整型,从而利用函数求出lst中数的和、平均值。print("-----求平均值,可输入任意多个数-------")

lst = [] #定义一个空列表

str = raw_input("请输入数值,用空格隔开:")

lst1 = str.split(" ")#lst1用来存储输入的字符串,用空格分割

i = 0

while i = len(lst1)+1:

lst.append(int(lst1.pop()))#将lst1的数据转换为整型并赋值给lst

i += 1

#print(lst)

def sum(list):

"对列表的数值求和"

s = 0

for x in list:

s += x

return s

def average(list):

"对列表数据求平均值"

avg = 0

avg = sum(list)/(len(list)*1.0) #调用sum函数求和

return avg

print("avg = %f"%average(lst))

运行结果:

请输入数值,用空格隔开:21 32 45 65

avg = 47.333333

lst[3:8:2]在python中是什么意思?

这是 python 的切片操作。

格式是: lst[start : end : step]

start 表示开始的位置,end表示结束的位置, step 表示步长(每次跳过的元素个数)

lst[3:8:2] 表示 从第4个元素开始,到第9个元素,每隔一个取一个

例如:

lst = "0123456789ABCDEFG"

lst[3:8:2] = "357"


网站名称:python中lst函数 python中lst函数的用法
文章来源:http://hbruida.cn/article/hjjghd.html