Pythonプログラマーの文芸の道
2613 ワード
1.アクセス配列の下付きおよびメンバー
プログラマーの書き方:
文芸プログラマーの書き方:
2.初期化
プログラマーのアプローチ:
文芸プログラマーのやり方:
3.重量除去
プログラマーのアプローチ:
文芸プログラマーのやり方:
4.配列アクセス
プログラマーのアプローチ:
文芸プログラマーのやり方:
5.条件付与
一般的なプログラマーのアプローチ:
文芸プログラマーのやり方:
6.文字列接続
プログラマーのアプローチ:
文芸プログラマーのやり方:
7.条件判断
一般的なプログラマーのアプローチ:
文芸プログラマーのやり方:
8.辞書操作
一般的なプログラマーのアプローチ:
文芸プログラマーのやり方:
9.100個の'*'を印刷
プログラマーのアプローチ:
文芸プログラマーのやり方:
10.文字列の反転
プログラマーのアプローチ:
文芸プログラマーのやり方:
神経症プログラマーのやり方:
プログラマーの書き方:
arr = [1,2,3,4,5,6]
i = 0
for item in arr:
print i, item
i += 1
文芸プログラマーの書き方:
arr = [1,2,3,4,5,6]
for i, item in enumerate(arr):
print i, item
2.初期化
プログラマーのアプローチ:
arr = []
for i in range(100):
if i%2 == 0:
arr.append(i)
文芸プログラマーのやり方:
arr = [ i for i in range(100) if i%2==0]
3.重量除去
プログラマーのアプローチ:
arr = [1,1,2,2,3,3]
arr2= []
for x in arr:
if x not in arr2:
arr2.append(x)
文芸プログラマーのやり方:
arr = [1,1,2,2,3,3]
arr2 = list(set(arr))
4.配列アクセス
プログラマーのアプローチ:
arr = [1,2,3,4,5,6,7,8]
i = 0
while i < len(arr):
print arr[i]
i += 2
文芸プログラマーのやり方:
arr = [1,2,3,4,5,6,7,8]
for i in range(0, len(arr), 2):
print arr[i]
5.条件付与
一般的なプログラマーのアプローチ:
x = 1
if x >1:
y += 1
else:
y -= 1
文芸プログラマーのやり方:
x = 1
y = x+1 if x>1 else: x-1
6.文字列接続
プログラマーのアプローチ:
arr = ['a', 'b', 'c']
result = ''
for i in arr:
result += i
文芸プログラマーのやり方:
arr = ['a', 'b', 'c']
result = ''.join(arr)
7.条件判断
一般的なプログラマーのアプローチ:
a = 5
if a > 2 and a < 10:
print 'yeah!'
else:
print 'oooh!'
文芸プログラマーのやり方:
a = 5
if 2
8.辞書操作
一般的なプログラマーのアプローチ:
dict1 = {'age':18}
if dict1.has_key('age'):
dict1['age'] += 1
else:
dict1['age'] = 1
文芸プログラマーのやり方:
dict1 = {'age':18}
dict1['age'] = dict1['age']+1 if 'age' in dict1 else 1
in
はhas_key
よりpythonicであることを覚えておいてください.9.100個の'*'を印刷
プログラマーのアプローチ:
a = ''
for i in range(100):
a += '*'
print a
文芸プログラマーのやり方:
print '*'*100
10.文字列の反転
プログラマーのアプローチ:
def reverse(s):
rt = ''
for i in range(len(s)-1, -1, -1):
rt += s[i]
return rt
文芸プログラマーのやり方:
def reverse(s):
return s[::-1]
神経症プログラマーのやり方:
from functools import reduce
def reverse (s):
return reduce(lambda x,y:y+x,s)
reduce
は何をしているのか分かりません.うんうん、後で話します.