Python语法基础(长期)
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语法基础(长期)的更多相关文章
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...
- Python | Python语法基础
目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...
- python 笔记2:python语法基础
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
- python语法基础-面向对象-基础-长期维护
############### 类的基本操作 ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...
- python语法基础-异常操作-长期维护
############### python-异常的操作 ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...
- python语法基础-文件操作-长期维护
############### python-简单的文件操作 ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...
- python语法基础-面向对象-进阶-长期维护
############### @property定义属性 ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...
- python语法基础-常用模块-长期维护
############### 常用模块 ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...
- python语法基础-函数-内置函数和匿名函数-长期维护
################## 内置函数 ####################### """ 一共是 68个内置函数: 反射相关的内置函 ...
随机推荐
- 谈谈.NET程序集(一)
谈谈.NET程序集(一) The Assembly in .NET by 唐小崇 http://www.cnblogs.com/tangchong 在.NET出现之前, Windows的程序有一些非常 ...
- 分享自制的C#和VB Code互转工具
分享自制的C#和VB Code互转工具 作为.NET程序员,往往习惯使用一种语言(据我观察,2006年后的程序员习惯用C#,之前的喜欢VB).而对于另一种语言虽然能读懂但是写起来总是比较费事.尤其面对 ...
- TCMalloc小记
周末抽空看了一下tcmalloc,了解了个大概.下面记录一下. 一. 原理 tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配.释放内存造成的性能损耗,并 ...
- SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响
现有两表A(大).B(小)作关联查询,SQL语句如下: SQL1:select * from A,B where A.id = B.id SQL2:select * from A,B where B. ...
- 开发一个微信小程序项目教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- java.lang.ClassNotFoundException: [Ljava.lang.String解决办法
原来jdk5.0的时候不会报这个错,用了jdk6.0就出现了这个错误,因为没有重载java.lang.String这个类 解决方法: 在vm缺省参数里添加-Dsun.lang.ClassLoader. ...
- JS网站当前日期在IE9、Chrome和FireFox中年份显示为113年的解决方法 getFullYear();
JS网站当前日期在IE9.Chrome和FireFox中年份显示为113年的解决方法 getFullYear();
- redis 学习笔记——数据同步、事务
redis主从同步 redis支持简单易用的主从复制(master-slave replication)功能,该功能也是redis高可用性实现的基础. redis复制原理 re ...
- 微信小程序数据请求方法wx.request小测试
微信小程序数据请求方法 wx.request wxml文件: <view> <textarea value="{{textdata}}"/> </vi ...
- linux ftp安装和配置
1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登录Linux主机后,运行命令:"service vsftpd start"C. ...