闲来无事时积累的一些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的一些操作的更多相关文章

  1. Python中模拟enum枚举类型的5种方法分享

    这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下   以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...

  2. Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  3. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  4. python中的字符串(str)操作

    字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...

  5. Python中对字节流/二进制流的操作:struct

    前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...

  6. python 中几种基本的矩阵操作应用

    在图像处理中,python 的矩阵运算经常会用到一些简单的操作,可是,由于好久没用,很多东西还是忘记了,这里做个备忘: #-*-coding:utf-8-*- import numpy as np a ...

  7. python中模拟进行ssh命令的执行

    在进行socket编程的时候,可以实现远程执行命令,然后返回相关的结果,但是这种...很容易就把服务器搞挂了. 在这里需要用到commands模块,commands模块中有一个方法为getstatus ...

  8. python中文件的读和写操作

    一.打开文件 data = open("yesterday",encoding="utf-8").read() # python默认的打字符编码是unicode ...

  9. python中几个实用的文件操作

    1. 判断指定目录是否存在: os.path.exists(input_folder) 2. 判断指定目录是不是文件夹 os.path.isdir(input_folder) 3. 判断指定目录是不是 ...

随机推荐

  1. Combogrid的onChange和onSelect

    这里只作记录一下 在easyui开发过程中遇到下边两个事儿 combogrid/combotree做级联: $("#" + deptId).combotree( { url : u ...

  2. 在Windows上以服务方式运行 MSOPenTech/Redis

    ServiceStack.Redis 使用教程里 提到Redis最好还是部署到Linux下去,Windows只是用来做开发环境,现在这个命题发生改变了,在Windows上也可以部署生产环境的 Redi ...

  3. MVC4 过滤器(转)

    先来看看一个例子演示过滤器有什么用: public class AdminController : Controller { // ... instance variables and constru ...

  4. 写的一个split函数

    vector<string> strsplit(const string& str) { vector<string> vec; string sstr1=str, s ...

  5. Oracle 乱码或则中文无法正确查询问题

    解决Oracle本身的字符集问题 oracle数据库的字符集更改 A.oracle server 端 字符集查询 select userenv('language') from dual 其中NLS_ ...

  6. IDEA下clean Maven项目

    如何调试出窗口: 点击菜单栏View->Tool Windows->Maven projects ♦如下图,选中之后.点击绿色三角形就可以clean了

  7. Atlassian官方合作伙伴

    Atlassian官方合作伙伴 http://atlassian.csdn.net/m/btc/atlassian/index

  8. 根据wsdl文件生成java代码

    具体操作步骤: 1.  运行cmd命令 输入 C:\jdk-1_6_0_31\bin (根据自己的JDK的安装位置而定) 2.  新建gen.bat文件 3.  gen.bat文件内容为:wsimpo ...

  9. Android 读取assets文件下的txt文件

    android 读取assets文件下的txt文件,解决了读取txt文件的乱码问题: package com.example.com.scrollview; import java.io.Buffer ...

  10. windows配置meld

    meld                   官网:http://meldmerge.org/ git配置: git bash: git config --global merge.tool meld ...