1
workaholic OP 字符串、字典、元组、列表、集合、文件 都能遍历
|
2
liwei 2013-03-25 16:57:51 +08:00
这不是很正常么,很多语言都有类似的Iterable接口,只要实现该接口的都可以用这种方式遍历。
|
3
binux 2013-03-25 16:59:57 +08:00
C++不是也有了吗
|
4
workaholic OP 我指的是原生的功能,不是说自己去利用接口实现,python 的for用起来简洁方便,至少与php相比是这样
|
5
Kymair 2013-03-25 17:13:27 +08:00
这个叫List Comprehension ( http://en.wikipedia.org/wiki/List_comprehension )
不过Ruby里倒还真没有这个, 是用block模拟的? |
6
zhujinliang 2013-03-25 17:18:33 +08:00
没用过python,看起来挺像C#的foreach的
|
7
halfelf 2013-03-25 17:29:10 +08:00
大惊小怪
|
8
liuxurong 2013-03-25 20:41:53 +08:00
Python的字符串处理太方便了
|
9
y 2013-03-26 05:36:56 +08:00
Lisp 的 loop macro 也很给力,几乎就是一句英文句子……
(loop for i from 1 to 100 maximize (* i (- 100 i))) 里面的 maximize 可以换成各种动词, 比如 sum, minimize, collect (返回一个 list) 或者 do, 执行某个函数。 再比如 (loop for i from 1 to 10000 count (primep i)) 其中 (primep i) 是自己写的判断 i 是不是素数的 predictive, 返回 T 或 Null. (真要知道素数个数没这么麻烦,这里就是个例子.) |
10
fwee 2013-03-26 07:17:39 +08:00
(1..10000).select &:odd?
ruby的。。 |
11
hanf 2013-03-26 08:42:03 +08:00
那是因为那些数据结构类都实现了Iterable
|
12
skywinger 2013-03-26 09:59:08 +08:00
java 的 for(xxx:xxxx)一样很简单,很好用,很牛X
楼主真的有的井底青蛙了。 |
13
workaholic OP @skywinger 确实,java看都没看一眼
|
14
hpyhacking 2013-03-26 15:01:34 +08:00
有[H|T]就够了
|
15
xavierskip 2013-03-26 15:03:03 +08:00
方便的是列表解析吧。
|
16
likuku 2013-03-26 16:04:28 +08:00
list 和 set ... 都超好玩...
|
17
jezal 2013-03-26 16:27:41 +08:00
楼主才知道爽?
|
18
013231 2013-03-26 16:49:07 +08:00
不就是迭代器嗎...大部分高級語音都有吧.
|
19
013231 2013-03-26 16:49:29 +08:00
s/語音/語言/
|
20
Muninn 2013-03-26 17:48:16 +08:00 via Android
现在觉得with更牛
|
21
firhome 2013-03-27 15:11:13 +08:00
准备学习这门语言
|
23
hit9 2013-04-04 23:22:09 +08:00
只是个语法糖~ 我觉得python美的地方还是它的表达力~
|
24
siteshen 2013-04-05 11:51:07 +08:00
python的for确实很给力,超喜欢这玩意儿〜
|
25
chisj 2013-04-05 11:53:19 +08:00
很多语言都有啊。
|
26
nil 2013-04-05 18:49:08 +08:00
如果有人在ruby里面用for,那肯定说明这家伙是个新手
|
27
undeadking 2013-04-05 20:57:29 +08:00
@workaholic php的foreach也是原生的遍历,print_r还能直接打印数组呢.高级语言的数据结构基本都有内置的遍历方法
|
28
jimrok 2013-04-05 22:07:33 +08:00
ruby不用for的。新手用for
|
29
brucexin 2013-04-06 14:22:29 +08:00
erlang的也很棒:
[{X,Y} || X <- List, Y <- List, X > 0, Y > 0, ...] |
31
se77en 2013-04-07 17:30:39 +08:00
我觉得一般般吧,你用了clojure的for就知道了
|
32
xierch 2013-04-08 02:14:28 +08:00
python 可以 for a, b, c in xlist:
这个也挺方便的: upnlist = [ i*i for i in nlist if i<=233 ] |
33
thelordsaves 2013-04-08 20:45:19 +08:00
最近正打算学python,功能果然强大
|