os.mkdir和os.mkdirs的区别?

前者如果“中间路径”不存在,会抛出异常,后者则会自动创建中间路径。

map(function, iterable)

对于可迭代函数```iterable```中的每一个函数,执行```function```,并将结果作为list返回。可以说,```map(f, iterable)``` **基本等价于** ``` [f(x) for x in iterable]```
>>> def add100(x):
... return x+100
...
>>> hh = [11,22,33]
>>> map(add100,hh)
[111, 122, 133]

reduce(function, iterable, initializer=None)

从可迭代对象iterable头部的两个元素开始,循环调用function使结果减少到一个元素,并用这个新元素继续和后一个元素reduce,直至最后一个元素。如果initializer有值,则它会被放到iterable序列的头部。

例如:

reduce(lambda x, y: x+y, [1, 2, 3, 4, 5], 10)
//计算(((((10+1)+2)+3)+4)+5)

filter(function, iterable)

对iterable中的每一个元素,执行function,如果返回值是true则将其添加到一个list中,最后返回该list. ```filter(function, iterable)```**等价于**```[item for item in iterable if function(item)]```.

使用dict统计元素个数更简洁的写法

以前一直用这样:

mlist = [1, 2, 2, 4, 1, 3, 7, 2]
mdict = {}
for i in mlist:
if i not in mdict:
mdict[i] = 0
mdict[i] += 1

昨天发现一种更简洁的写法:

mlist = [1, 2, 2, 4, 1, 3, 7, 2]
mdict = {}
for i in mlist:
mdict.get(i, 0) + 1 # get获取key为i的value,如果没有则默认为0

dict排序

有时我们不想使用collections(一种有序的dict数据结构),比如代码已经写好了懒得改,怎么办呢?

方法一:使用lambda

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
mdict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)

方法二:使用operator

dic = sorted(dic .items(), key = operator.itemgetter(1), reverse = True)

Python语法基础(长期)的更多相关文章

  1. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  2. python语法基础笔记

    本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...

  3. Python | Python语法基础

    目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...

  4. python 笔记2:python语法基础

    python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...

  5. python语法基础-面向对象-基础-长期维护

    ###############    类的基本操作    ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...

  6. python语法基础-异常操作-长期维护

    ###############    python-异常的操作  ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...

  7. python语法基础-文件操作-长期维护

    ###############    python-简单的文件操作  ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...

  8. python语法基础-面向对象-进阶-长期维护

    ###############    @property定义属性    ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...

  9. python语法基础-常用模块-长期维护

    ###############      常用模块   ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...

  10. python语法基础-函数-内置函数和匿名函数-长期维护

    ##################     内置函数        #######################  """ 一共是 68个内置函数: 反射相关的内置函 ...

随机推荐

  1. 谈谈.NET程序集(一)

    谈谈.NET程序集(一) The Assembly in .NET by 唐小崇 http://www.cnblogs.com/tangchong 在.NET出现之前, Windows的程序有一些非常 ...

  2. 分享自制的C#和VB Code互转工具

    分享自制的C#和VB Code互转工具 作为.NET程序员,往往习惯使用一种语言(据我观察,2006年后的程序员习惯用C#,之前的喜欢VB).而对于另一种语言虽然能读懂但是写起来总是比较费事.尤其面对 ...

  3. TCMalloc小记

    周末抽空看了一下tcmalloc,了解了个大概.下面记录一下. 一. 原理 tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配.释放内存造成的性能损耗,并 ...

  4. SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响

    现有两表A(大).B(小)作关联查询,SQL语句如下: SQL1:select * from A,B where A.id = B.id SQL2:select * from A,B where B. ...

  5. 开发一个微信小程序项目教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...

  6. java.lang.ClassNotFoundException: [Ljava.lang.String解决办法

    原来jdk5.0的时候不会报这个错,用了jdk6.0就出现了这个错误,因为没有重载java.lang.String这个类 解决方法: 在vm缺省参数里添加-Dsun.lang.ClassLoader. ...

  7. JS网站当前日期在IE9、Chrome和FireFox中年份显示为113年的解决方法 getFullYear();

    JS网站当前日期在IE9.Chrome和FireFox中年份显示为113年的解决方法 getFullYear();

  8. redis 学习笔记——数据同步、事务

    redis主从同步      redis支持简单易用的主从复制(master-slave replication)功能,该功能也是redis高可用性实现的基础.   redis复制原理      re ...

  9. 微信小程序数据请求方法wx.request小测试

    微信小程序数据请求方法 wx.request wxml文件: <view> <textarea value="{{textdata}}"/> </vi ...

  10. linux ftp安装和配置

    1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsftpd B. 登录Linux主机后,运行命令:"service vsftpd start"C. ...