[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/01 12:01 / Filesize : 217 KB / Number-of Response : 883
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その7



150 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 07:59:37 ]
# -*- coding: utf-8 -*-
import re
data = ur"""1
998.7 1003.1 -- -- -- 6.0 10.9 1.8 36 16 2.6 4.8 北西 9.4 北西 6.9 -- -- 晴後一時曇 快晴
2
1014.6 1019.1 -- -- -- 7.0 12.1 2.7 43 24 2.5 5.0 北西 9.4 北北西 9.0 -- -- 快晴 晴後曇"""
for rec in [reduce(lambda r,(i,v): r + [v] if i in [0,5] else r,
enumerate(line.split()),
[])
for line in
data.split('\n') if not re.search('^\d{1,2}$', line)]:
print rec[0], "\t", rec[1]

分からない事があるので教えてください。
上記のr,i,v変数がよく分かっておりません。
動きから想像するとrは[]で
iはenumerate(line.split())の0,1,2…
vはenumerate(line.split())の998.7,1003,1…
となるような気がするのですが

私のイメージでは
lambdaの引数はenumerate(line.split())の値なので
0,1,2…のシーケンシャルな値と998.7,1003.1等のdataから作成される値
で構成されているのかなと思っていたので
ちょっと分からなくなってしまいました。

お手数ではございますが、解釈の仕方を教えていただけないでしょうか?






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<217KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef