python 基础——常用功能片段
1. 元素去重
data = [1,2,3,4,4,5,5,6]
res = set(data)
2. 元素去重排序
res = sorted(set(data))
2. 打印重复的元素
res = [x for x in data if data.count(x) > 1]
3. 阶乘
num = 10
res = reduce(lambda x, y: x*y, range(num+1)[1:])
6. 列表推导式
origin = ['a', 'b', 'c', 'z'] print [x for x in origin if x is not 'z'] # ['a', 'b', 'c']
print [x for x in list(enumerate(origin, 5)) if x is not 'z'] # [(5, 'a'), (6, 'b'), (7, 'c'), (8, 'z')]
7. 字典推导式
origin = ['a', 'b', 'c', 'z']
res = {x: origin.index(x) for x in origin} # {'a': 0, 'c': 2, 'b': 1, 'z': 3}
print type(res) # <type 'dict'>
8. 集合推导式
origin = ['a', 'b', 'c', 'z']
print {x*2 for x in origin} # set(['aa', 'cc', 'zz', 'bb'])
9. 生成器推导式(有点像元组)
origin = ['a', 'b', 'c', 'z'] res = (x*2 for x in origin)
print res # <generator object <genexpr> at 0x7fe2ca76d640>
print type(res) # <type 'generator'>
10.生成器和其它集合的转换
def test():
for i in [1, 2,3]:
yield i res = test()
print res # <generator object test at 0x7f404d077640>
res1 = set(res)
print res1 # set([1, 2, 3])
res2 = list(res)
print res2 #为空 生成器是有状态的,不能反复调用
res3 = tuple(res)
print res3 #为空 生成器是有状态的,不能反复调用
python 基础——常用功能片段的更多相关文章
- Python 基础 常用运算符
Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...
- Python自动化 【第五篇】:Python基础-常用模块
目录 模块介绍 time和datetime模块 random os sys shutil json和pickle shelve xml处理 yaml处理 configparser hashlib re ...
- python基础--常用模块与面向对象基础
1常用模块 1.1 xml xml是实现不同语言或程序之间进行数据交换的协议 xml的格式如下: <?xml version="1.0"?> <data> ...
- Python 基础 常用模块
Python 为我们提供了很多功能强大的模块,今天就主要使用的到的模块进行整理,方便后面来翻阅学习. 一.时间模块 在时间模块中我们重点介绍几种自己常用的功能,主要方便我们按照自己想要的方式获取时间 ...
- python基础----常用模块
一 time模块(时间模块)★★★★ 时间表现形式 在Python中,通常有这三种方式来表示时 ...
- python学习:python的常用功能示例2
1. python 写入txt with open("douban.txt","w") as f: f.write("这是个测试!") fi ...
- Git基础常用功能
一.安装 具体查看 安装Git 二.使用 基础知识 工作区(Workspace):就是你在电脑里能看到的项目目录. 暂存区(Index / Stage):临时存放更改的地方,使用命令"git ...
- Python基础-常用模块OS
模块:一个python文件就是一个模块,模块分三种: 1,标准模块,也就是python自带的模块,例如import time,random,string等等 2,第三方模块,这种模块需要自己安装才能 ...
- python基础--常用的模块(collections、time、datetime、random、os、sys、json、pickle)
collection模块: namedtuple:它是一个函数,是用来创建一个自定义的tuple对象的,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素.所以我们就可以 ...
随机推荐
- oracle:自定义多行合并聚合函数
原始表 COUNTRY CITY -------------------- -------------- 中国 台北 中国 香港 ...
- 转载:div和flash层级关系问题
转自:http://sin581.blog.163.com/blog/static/860578932012813112334404/ 问题: ie下默认好像div层级没有flash层级高,也 ...
- Linux 上的基础网络设备详解
抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分.作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理.用法.数据流向.您通过此文,能够知道如何使用 Linux 的 ...
- spring 切面 前置后置通知 环绕通知demo
环绕通知: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...
- wikioi 3038 3n+1问题
题目描述 Description 3n+1问题是一个简单有趣而又没有解决的数学问题.这个问题是由L. Collatz在1937年提出的.克拉兹问题(Collatz problem)也被叫做hailst ...
- 启动Tomcat的时候遇到错误
严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException at java. ...
- 整合spring roo,maven,mybatis,spring-flex,blazeds,mysql
1. 下载spring roo,设置环境变量ROO_HOME,和path,classpath. 使用CMD命令行找到工作区间,新建工程目录转到工程目录:mkdir ten-minutes $ ...
- spring-flex
mvn install:install-file -Dpackaging=jar -DgroupId=com.adobe.blazeds -Dversion=4.0.0.14931 -Dartifac ...
- ASSER、VERIFY、TRACE详解
ASSERT()被测试它的参数,如果参数为零,则中断执行并打印一段说明消息.在Release版本的程序中它不起任何作用. ASSERT()使用的时候必须保证参数表达式中不能有函数调用,因此对于任何有函 ...
- linux下的块设备驱动(一)
块设备的驱动比字符设备的难,这是因为块设备的驱动和内核的联系进一步增大,但是同时块设备的访问的几个基本结构和字符还是有相似之处的. 有一句话必须记住:对于存储设备(硬盘~~带有机械的操作)而言,调整读 ...