Python中模拟C# Linq的一些操作
闲来无事时积累的一些Linq函数,有时间就更新。
需要注意python版本如果低于3.0不支持lambda,只能单独写函数传参,比较麻烦
1.FirstOrDefault:
def FirstOrDefault(collection, func):
result = filter(func, collection) if len(result) == 0: return None return result[0] def main():
def condition(m): return m < 3
print FirstOrDefault([1,2,3,4], condition) #print 1
返回1
2.Where:
def Where(collection, func):
result = filter(func, collection) if len(result) == 0: return None return result def main():
def condition(m): return m < 3
print Where([1,2,3,4], condition)
#print [1,2]
返回筛选后的数组1,2
3.Distinct:
def Distinct(collection, isContainFunc):
resultList = list() for item in collection:
def firstOrDefaultPredicate(m):
return isContainFunc(m,item) containValue = FirstOrDefault(collection, firstOrDefaultPredicate) if containValue != None:
if not item in resultList:
resultList.append(item) return resultList def main():
tmp = [1,2,2,3,4,3] def compare(x,y):return x==y
result = Distinct(tmp, compare)
print result
#print [1,2,3,4]
去重复,依赖FirstOrDefault。
Python中模拟C# Linq的一些操作的更多相关文章
- Python中模拟enum枚举类型的5种方法分享
		
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下 以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...
 - Python中对 文件 的各种骚操作
		
Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...
 - Python中实现对list做减法操作介绍
		
Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...
 - python中的字符串(str)操作
		
字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...
 - Python中对字节流/二进制流的操作:struct
		
前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...
 - python 中几种基本的矩阵操作应用
		
在图像处理中,python 的矩阵运算经常会用到一些简单的操作,可是,由于好久没用,很多东西还是忘记了,这里做个备忘: #-*-coding:utf-8-*- import numpy as np a ...
 - python中模拟进行ssh命令的执行
		
在进行socket编程的时候,可以实现远程执行命令,然后返回相关的结果,但是这种...很容易就把服务器搞挂了. 在这里需要用到commands模块,commands模块中有一个方法为getstatus ...
 - python中文件的读和写操作
		
一.打开文件 data = open("yesterday",encoding="utf-8").read() # python默认的打字符编码是unicode ...
 - python中几个实用的文件操作
		
1. 判断指定目录是否存在: os.path.exists(input_folder) 2. 判断指定目录是不是文件夹 os.path.isdir(input_folder) 3. 判断指定目录是不是 ...
 
随机推荐
- 查看系统自带的RPM
			
我在home目录下创建了目录mei 1.管理员权限 su 2.进入mei目录 cd /home/mei 3.创建cdrom目录作为挂载点 mkdir cdrom 4.把目录 /dev/cdrom-hd ...
 - Appium+python自动化21-DesiredCapabilities详解
			
Appium Desired Capabilities Desired Capabilities 是由 keys 和 values 组成的 JSON 对象. 举个简单例子: { "platf ...
 - java_Collection_详细介绍
			
转自:http://blog.sina.com.cn/s/blog_3fb3625f0101aref.html 1.类集框架 java.util 包中包含了一些在 Java 2 中新增加的最令人兴奋的 ...
 - IIS7 win7 x64 MVC部署
			
.net4.5已经装好,mvc4setup也装了,启动IIS后打开网页还是不能正常显示页面,404错误 最后发现把win7升级到SP1就正常了,具体是那个补丁修复的就不知道了
 - DTO的一些理解(转载)
			
1.什么是DTO DTO(Data Tansfer Object)即数据传输对象.之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DT ...
 - kvm安装windows系统
			
1.创建虚拟机镜像文件并指定大小(10G) [root@centos01 ~]# qemu-img create -f raw /opt/windows20031.raw 10G Formatting ...
 - Oracle PL/SQL语句基础学习笔记(上)
			
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...
 - [AngularJS] Angular 1.3 ng-model-options - getterSetter
			
getterSetter: boolean value which determines whether or not to treat functions bound to ngModel as ...
 - Service 生命周期
			
有了 Service 类我们如何启动他呢,有两种方法: • Context.startService() • Context.bindService() 1. 在同一个应用任何地方调用 start ...
 - 从主机系统向虚拟机系统里面copy 文件
			
从主机系统向虚拟机系统里面copy 文件: 一:请确保你的虚拟机里面安装了 VMTools 1:安装VMTools 2: 进入虚拟机系统里面,如果没有自动运行 VMtool安装程序,请打开我的电脑,手 ...