牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Ruby - Wikipediaの例をPythonでやってみた−前半戦

Ruby - Wikipediaの例をPythonでやってみた−前半戦

例(Python

基本的なコード

abs(-199)                       # 199
len("python is hot")            # 13
"Dick".index("c")               # 2
"".join(sorted(set(list("Nice Day Isn't It?")))) 
# " '?DINaceinsty"
コレクション

配列の作成と使用法

a = [1, 'hi', 3.14, 1, 2, [4, 5]]
print a[2] 
# 3.14
print a[::-1]
# [[4, 5], 2, 1, 3.14, 'hi', 1]

#RubyのflattenみたいなのがPythonにないので関数を作成
def flatten(seq):
    if not seq:
        return []
    if isinstance(seq[0], list):
        return flatten(seq[0]) + flatten(seq[1:])
    return [seq[0]] + flatten(seq[1:])
print flatten(a)
# [1, 'hi', 3.1400000000000001, 1, 2, 4, 5]

print list(set(flatten(a))) 
# [1, 2, 4, 5, 3.1400000000000001, 'hi']

ハッシュの作成と使用法

hash = {'water':'wet', 'fire':'hot'}
print hash['fire']              
# hot
print "\n".join("%s is %s" % (k,v) for k,v in hash.items())
#water is wet
#fire is hot
制御構造
if len("fablic") > 3:
    print "ya"
else:
    print "nop"
#表示 "ya"

n = 0
while n < 3:
    print "foobar"
    n += 1
#表示
#foobar
#foobar
#foobar
繰り返し処理
li = [1, 2, 5, 13, 21]
li = map(lambda x :x*2, li) 
print li
# [2, 4, 10, 26, 42]

li = [1, 2, 5, 13, 21]
n = 0
while n < len(li):
    li[n] *= 2
    n += 1
print li 
# [2, 4, 10, 26, 42]

指定した回数の繰り返し処理

for i in range(3):
    print 'foobar'
#表示
#foobar
#foobar
#foobar


とりあえずここまで
(『Ruby - Wikipediaの例をPythonでやってみた−後半戦[完結] - 牌語備忘録 - pygo』に続く)