python学习杂记1

来源:互联网 发布:python 哪方面的私活多 编辑:程序博客网 时间:2024/06/06 01:08

近期在学习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))))

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


原创粉丝点击