欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python List相关函数使用实例(代码)

程序员文章站 2022-11-20 14:49:18
1.给一个错乱的圣诞树重新排序 输入为: tree = [ " * ", " * ", "...

1.给一个错乱的圣诞树重新排序

输入为:

tree = [
"      *  ", 
"    *    ", 
"***      ", 
"    *****", 
"  *******", 
"*********", 
" ***     "
]

则函数的输出为:

fixTree(tree) = [
"    *    ", 
"    *    ", 
"   ***   ", 
"  *****  ", 
" ******* ", 
"*********", 
"   ***   "
]

示例代码如下:

def fixTree(tree):
return map(lambda x:x.strip().center(len(x)),tree)

主要是字符串的center方法.1


2.列表顺序求和

对于给定的整数列表顺序求和生成新的列表。例,a=[1,2,3]则其输出为prefSum(a)=[1,3,6].解释:[1,1+2,1+2+3].

示例代码如下:

def prefSum(a):
    return reduce(lambda c,x:c+[c[-1]+x],a,[0])[1:]

主要是对reduce方法的掌握,reduce(function, iterable[, initializer]),参考23.


3.整数列表实现相应操作

对于给定的整数列表实现相应的操作,例如,a=[1,2,3,4,5],编程实现,sum(a)=((a[0]+a[1])*a[2]+a[3])...,对于a则输出为sum(a)=((1+2)*3+4)*5=65.

示例代码如下:

def mathPractice(numbers):
    return reduce(lambda a,x:a+x[1] if x[0]%2!=0else a*x[1],enumerate(numbers),1)

主要是reduce函数的使用。


4.计算两个整数之间素数的和

例如a=10,b=20则,primeSum(a,b)=60即,11+13+17+19=60,示例代码如下:

def primesSum(a, b):
    return sum(filter(lambda x:all(x % i for i in range(2, int(x**0.5) + 1)),range(max(a,2),b+1)))

主要是all函数的使用