自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python函數(shù)式和Ruby的相關(guān)技術(shù)比較

開發(fā) 后端
Python函數(shù)式在編程中有很多的應(yīng)用方案。首先我們來看看與Ruby之間的技術(shù)比較。希望大家有所收獲。Python函數(shù)式編程到底有什么用呢?

Python函數(shù)式在平時的使用中有很多有意思的事情。下面我們就詳細(xì)的看看Python函數(shù)式和Ruby之間的技術(shù)比較。下面我們就來看看如何進(jìn)行應(yīng)用。希望大家有所收獲。

Python函數(shù)式編程到底有什么用呢? 我想實際的好處就是可以將更好的描述問題本身,而不是描述解決問題的操作步驟。看一個具體的例子:

問題:一個列表;對每一個元素平方;將平方后的數(shù)如果除3的余數(shù)為1則從列表中除去。

看解決的方法:

1. 傳統(tǒng)過程式(Python函數(shù)式)

  1. >>> s = [1,2,3]  
  2. >>> d = []  
  3. >>> for i in s:  
  4. if i * i % 3 != 1:  
  5. d.append(i * i)  
  6. >>> d  
  7. [9]  
  8. >>> 

 

2. 傳統(tǒng)函數(shù)式(Lisp)

  1. (remove-if (lambda (n) (= (mod n 3) 1))  
  2. (mapcar (lambda (n) (* n n))  
  3. '(1 2 3))) 


可以看出,函數(shù)式的程序很好的對應(yīng)了我們所提問題的兩個步驟,分別用 mapcar, remove-if來實現(xiàn)。不過Lisp的程序確實不太好讀,我們用python 和 ruby 來改進(jìn)一下:

3. Python函數(shù)式:

  1. >>> filter(lambda n: n % 3 != 1, map(lambda n:n*n, [1,2,3]))  
  2. [9] 

4. Ruby 函數(shù)式:

  1. [1,2,3].map {|n| n * n}.reject{|n| n % 3 == 1}  
  2. => [9] 

經(jīng)過比較,ruby的最為簡潔,而且與問題描述對應(yīng)的最自然。以上就是對Python函數(shù)式的相關(guān)介紹。

【編輯推薦】

  1. Python字符串操作方法的五種具體方法
  2. Python線程編程的主要表達(dá)方式詳解
  3. Python編程語言與Ruby之間的比較
  4. Python django應(yīng)用中的五大關(guān)鍵步驟
  5. Python主線程如何進(jìn)行相關(guān)應(yīng)用
責(zé)任編輯:張浩 來源: ZDNET
相關(guān)推薦

2009-08-14 13:45:03

Ruby和Python

2011-07-21 13:21:32

PHP

2020-08-19 10:29:08

RubyJava語法

2010-03-10 19:46:07

Python編程語言

2013-06-27 09:31:37

聲明式編程命令式編程編程

2009-12-14 13:33:49

Ruby與Python

2021-11-28 18:07:44

PythonRuby編程

2023-05-06 07:27:47

2013-04-16 10:24:33

函數(shù)偏函數(shù)編程語言

2009-12-15 15:55:43

Ruby模塊

2014-06-19 10:48:18

RubyPython

2024-04-30 09:48:33

LLMRAG人工智能

2009-12-24 14:29:42

2010-09-07 09:44:44

Lucene.NETHubbleDotNe

2009-12-29 15:41:21

2017-12-18 11:11:04

2015-05-20 15:54:04

Openstack分布式存儲

2010-11-18 15:46:41

Oracle Deco

2024-01-05 15:19:45

2009-12-14 16:26:40

Ruby復(fù)制文件
點贊
收藏

51CTO技術(shù)棧公眾號