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

python学习杂记1

程序员文章站 2024-03-13 15:29:45
...

近期在学习Python,在学习过程中发现Python的库是相当的强大,甚至在刷oj的时候很多时候都是一行代码搞定

比如:输出1~100之间所有的素数

在c语言中此类题需要写双层循环,一个一个的跑出来,在依次输出,还要考虑什么时候加空格,什么时候不加空格

Python中,有一join函数,用法如下:

1、join()函数

语法:  'sep'.join(seq)

参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2、os.path.join()函数

语法:  os.path.join(path1[,path2[,......]])

返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略

另外,Python还有另一强大的函数map:

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现

#使用lambda函数

>>> print map(lambda x: x % 2, range(7))

[0, 1, 0, 1, 0, 1, 0]

因此,我们只需要:

print ' '.join(map(str,filter(lambda x:not[x%i for i in range(2,x/2+1) if x%i == 0],range(2,101))))

这一行代码即可得出想要的结果。