文档章节

Python常用内部函数

shaohan
 shaohan
发布于 2014/04/01 17:09
字数 643
阅读 338
收藏 16
1.lambda lambda其实就是一条语句,lambda(x):body。x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的值。
>>>f=lambda x:x+1
>>>f(2)
3
>>>(lambda x,y:x+y)(2,3)
5 

2.filter filter(func, list)接受两个参数:一个函数func和一个列表list,返回一个列表。函数func只能有一个参数。filter的功能:列表中所有元素作为参数传递给函数,返回可以另func返回真的元素的列表
>>>l=['abc','acd','1245','ddad','aaa']
>>> def func(s):
    return s.startswith('a')
>>>filter(func, l)
['abc','acd','aaa'] 

3.zip  zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple
>>>x=[1,2,3]
>>>y=['a','b','c']
>>>zip(x,y)
[(1,'a'),(2,'b'),(3,'c')]
>>>zip(*zip(x,y))
[(1,2,3),('a','b','c')] 

4.map为操作list,返回list,绑定的函数为修改list中每一个值的函数
>>> list=[1,2,3]
>>> map(lambda x : x*2,list)
>>> [2, 4, 6] 

5.reduce为逐次操作list里的每项,接收的参数为 2个,最后返回的为一个结果
>>> def func(x,y):  
>>>     return x+y
>>> reduce(func,(1,2,3)) 
>>> 6 

6.sorted字典排序
>>> import operator
>>> x = {1:2, 3:4, 4:3, 2:1, 0:0}
>>> sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True)
[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
>>> sorted(x.iteritems(), key=lambda x : x[1], reverse=False)
[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]

7.列表字典排序
>>> li = [{'name':'wang', 'age':30}, {'name':'zhang', 'age':20}, {'name':'li', 'age':25}]
>>> sorted(li, key=lambda x : x['name'], reverse=False)
[{'age': 25, 'name': 'li'}, {'age': 30, 'name': 'wang'}, {'age': 20, 'name': 'zhang'}]
>>> sorted(li, key=operator.itemgetter('name'), reverse=True)
[{'age': 20, 'name': 'zhang'}, {'age': 30, 'name': 'wang'}, {'age': 25, 'name': 'li'}]

8.翻转字符串
>>> s = "abcd"
>>> s[::-1]
'dcba'
>>> "".join(sorted(list(s),reverse=True))
'dcba'

9.元祖(tuple)、字典(dict)之间转换
>>> t = ((1,"a"),(2,"b"))
>>> dict(t) #元祖转字典
{1: 'a', 2: 'b'}
>>> d = dict(t) 
>>> d.items() #字典转元祖
[(1, 'a'), (2, 'b')]

>>> t = (1,"a")
>>> dict([t]) #单个元祖转字典
{1: 'a'}
>>> d = dict([t])
>>> d.popitem()
(1, 'a')
>>> d.items()[0] #单个字典转元祖
(1, 'a')

>>> li = [{1:"a"},{2:"b"}]
>>> [dict(zip(("key","value"), obj.items()[0])) for obj in li]
[{'value': 'a', 'key': 1}, {'value': 'b', 'key': 2}]
>>> map(lambda x: dict(zip(("key","value"), x.items()[0])),li)
[{'value': 'a', 'key': 1}, {'value': 'b', 'key': 2}]
>>> li2 = [{'value': 'a', 'key': 1}, {'value': 'b', 'key': 2}]
>>> [{obj["key"]:obj["value"]} for obj in li2]
[{1: 'a'}, {2: 'b'}]


本文转载自:

shaohan
粉丝 10
博文 97
码字总数 57889
作品 0
海淀
项目经理
私信 提问
加载中

评论(2)

shaohan
shaohan 博主

引用来自“toor”的评论

python的官方文档你一般去哪里拿?那个官网貌似上不去

https://docs.python.org/2/download.html 这里可以下载啊 https://docs.python.org/2/index.html 这个是在线的

toor
toor
python的官方文档你一般去哪里拿?那个官网貌似上不去
Python基础——装饰器、模块(0417)

一、Python基础——复习 1、字符串的常用操作 2、列表的常用操作 3、字典的常用操作 二、Python——装饰器:函数可以是变量 1、Python是一种面向对象的编程语言,在Python中所有的都可以是Pyt...

python初雪之路
2018/04/17
35
0
python入口,print,基本数据,变量

python入口,print,基本数据,变量 代码从哪里开始执行 2.print函数 (1)是一个重要的系统函数 print ("Hello World!!", "i am xxxx", 456, 36.7); (2)参数可以是任意类型,任意个数,传...

So_care_about_y
2018/06/12
0
0
看书 Python 源码分析笔记 (三) dict

今天继续从第五章开始学习. 第五章 Python 中的 Dict 对象 这是 python 提供的关联容器, 即 key,value 对映射, python 使用 hash table 的方式实现此关联容器. (也有别的实现方式, 如 STL 中...

刘军兴
2015/12/21
117
0
分享老男孩自动化开发运维Python12期

本套教程共L33天,完整版!!! 目录: L001-老男孩教育-Python12期VIP视频-18节 0001-开课介绍.mp4 0002-同学互相介绍.mp4 0003-python简史介绍.mp4 0004-python3的新特性.mp4 0005-开发工具...

liming004
2018/06/28
0
0
Python中的赋值、引用和深浅拷贝

全局变量 在函数之外创建的变量属于main,又被称为全局变量。它们可以在main中的任意函数中访问,与局部变量在函数结束时消失不同,全局变量可以在不同函数的调用之间持久存在。全局变量常常...

酒逢知己千杯少
2018/10/10
73
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
40分钟前
48
0
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
9
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部