Python函数式编程:从入门到走火入魔
一行代码显示“爱心”
>>> print'\n'.join([''.join([('AndyLove'[(x-y)%]if((x*0.05)**+(y*0.1)**-)**-(x*0.05)***(y*0.1)**<= else' ')for x in range(-,)])for y in range(,-,-)])
Python函数式编程:从入门到走火入魔
# @file: data.py
import random
from collections import namedtuple Student = namedtuple('Student', ['id', 'ans']) N_Questions =
N_Students = def gen_random_list(opts, n):
return [random.choice(opts) for i in range(n)] # 问题答案 'ABCD' 随机
ANS = gen_random_list('ABCD', N_Questions)
# 题目分值 ~ 分
SCORE = gen_random_list(range(,), N_Questions) QUIZE = zip(ANS, SCORE)
students = [
# 学生答案为 'ABCD*' 随机,'*' 代表未作答
Student(_id, gen_random_list('ABCD*', N_Questions))
for _id in range(, N_Students+)
] print(QUIZE)
# [('A', ), ('B', ), ('D', ), ...
print(students)
# [Student(id=, ans=['C', 'B', 'A', ...
正常方法:
mport data
def normal(students, quize):
for student in students:
sid = student.id
score =
for i in range(len(quize)):
if quize[i][] == student.ans[i]:
score += quize[i][]
print(sid, '\t', score) print('ID\tScore\n==================')
normal(data.students, data.quize)
"""
ID Score
================== ...
"""
函数式
def cal(quize):
def inner(student):
filtered = filter(lambda x: x[] == x[][], zip(student.ans, quize))
reduced = reduce(lambda x, y: x + y[][], filtered, )
print(student.id, '\t', reduced)
return inner
map(cal(QUIZE), students)
Python函数式编程:从入门到走火入魔的更多相关文章
- python 函数式编程学习笔记
函数基础 一个函数就是将一些语句集合在一起的部件,它们能够不止一次地在程序中运行.函数的主要作用: 最大化的代码重用和最小化代码冗余 流程的分解 一般地,函数讲的流程是:告诉你怎样去做某事,而不是让你 ...
- Python黑客编程2 入门demo--zip暴力破解
Python黑客编程2 入门demo--zip暴力破解 上一篇文章,我们在Kali Linux中搭建了基本的Python开发环境,本篇文章为了拉近Python和大家的距离,我们写一个暴力破解zip包密 ...
- python函数式编程,列表生成式
1.python 中常见的集中存储数据的结构: 列表 集合 字典 元组 字符串 双队列 堆 其中最常见的就是列表,字典. 2.下面讲一些运用循环获取字典列表的元素 >>> dic={ ...
- (转)Python函数式编程——map()、reduce()
转自:http://www.jianshu.com/p/7fe3408e6048 1.map(func,seq1[,seq2...]) Python 函数式编程中的map()函数是将func作用于se ...
- python 函数式编程:高阶函数,map/reduce
python 函数式编程:高阶函数,map/reduce #函数式编程 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 #(一)高阶函数 f=abs f print ...
- Python函数式编程(进阶2)
转载请标明出处: http://www.cnblogs.com/why168888/p/6411915.html 本文出自:[Edwin博客园] Python函数式编程(进阶2) 1. python把 ...
- Python函数式编程——map()、reduce()
文章来源:http://www.pythoner.com/46.html 提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理 ...
- python函数式编程之返回函数、匿名函数、装饰器、偏函数学习
python函数式编程之返回函数 高阶函数处理可以接受函数作为参数外,还可以把函数作为结果值返回. 函数作为返回值 def laxy_sum(*args): def sum(): ax = 0; fo ...
- Python函数式编程简介
参考原文 廖雪峰Python函数式编程 函数 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程 ...
随机推荐
- 关于asp.net的一点小问题有谁帮忙解答一下?
public IList<Category> Categories { get; set; } protected void Page_Load(object sender, ...
- js 文本框只能输入数字
<input type="text" value="" style="ime-mode:Disabled" onkeyup=&quo ...
- 项目里总结出来的log4j模板
项目日志模板:http://www.cnblogs.com/baibaluo/archive/2011/06/03/2072091.html#commentform #全局设置 log4j.rootL ...
- java压缩和解压字符串,Byte数组,String
在网上找到的压缩解压的工具类,可以压缩String字符串 /*** * 压缩GZip * * @param data * @return */ public static byte[] gZip(by ...
- PHP的学习--PHP加密
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串. ...
- php部分---单文件上传的封装类
<?php $fileinfo=$_FILES["myfile"]; function uploadfile($fileinfo,$allowext=array('jpeg' ...
- python 实现文件下载
Requests库,高度封装的http库 import requests url = 'http://down.sandai.net/thunder9/Thunder9.0.18.448.exe' f ...
- Install Debian note
environment: already install xp,win7 and win8PE, left 87G space to install Debian, this space not fo ...
- python之模块安装
在python中,python官方提供了很多可以扩展的包,用以增强python的功能. 因为用到了excel的读写功能,需要安装xlrd的包,一下是安装步骤 1.首先从python的官方库下载相应的包 ...
- JSBinding+Bridge.Net:框架代码与逻辑代码的关系
在JSB+Bridge工程中你可以同时维护Cs版本和Js版本的游戏. 框架代码:简称framework,表示那些不进行热更的代码.注意,这包括你自己写的代码,也包括引用的Dll,比如UnityEngi ...