2011-03-07 57 views

回答

8

有因爲Python 2.6 future_builtins模塊:

from future_builtins import filter, map, zip 
4

一個__future__進口是沒有必要的:

from itertools import imap as map 
range = xrange 

編輯:如果你想要做幾那些在一個單一的線,你可以做

from itertools import imap as map, ifilter as filter, izip as zip 
range = xrange; input = raw_input 
+0

太棒了!我可以在一行中做一堆嗎? – 2011-03-07 19:43:32

2

如果你想要做的這,爲什麼不將以下內容添加到您的PYTHONSTARTUP文件中?

import itertools 
filter = itertools.ifilter 
map = itertools.imap 
slice = itertools.islice 
zip = itertools.izip 
range = xrange 
input = raw_input 
+2

用'islice()'覆蓋'slice()'似乎不是一個好主意。它們完成不同的事情,而所有其他重命名都反映了Python 3.x中的更改,「slice()」和「islice()」未被更改。 – 2011-03-07 20:01:19

+1

'PYTHONSTARTUP'僅用於* interactive *會話http://docs.python.org/using/cmdline.html#envvar-PYTHONSTARTUP – jfs 2011-03-07 20:27:00