プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

Python3 基礎 Part4

もう少し基礎編が続きます。
とおもったけど、追記内容もそこまでないので今回で基礎編は一旦終了。

# リスト型
scores = [40, 50]
print(scores[0])    # 40
scores[0] = 45
print(len(scores))  # 2
scores.append(100)  #要素追加
print(scores)

for score in scores:
    print(score)

for i, score in enumerate(scores):
    print("{0}: {1}".format(i, score))

# タプル 
#--タプルは値の変更ができない

items = (50, "apple", 32.5)
print(items[1])
# items[1] = "pen" --エラーとなる

print(list((1, 3, 5)))
print(tuple([1, 3, 5]))

# スライス機能
scores = [40, 50, 70, 90, 60]
print(scores[1:4])  # 50, 70, 90
print(scores[:2])   # 40, 50
print(scores[3:])   # 90, 60
print(scores[-3:])  # 70, 90, 60 末尾から

s = "hello"
print(s[1:4])

# セット
# 順番がなく、重複を許容しない

a = set([5, 4, 8, 5])
a = {5, 3, 8, 5}    #重複は許容しないので最後の5は無視される
print(a)
print(5 in a)       # True
a.add(2)            # 要素に2を追加
a.remove(3)         # 要素から3を削除
print(a)
print(len(a))       # 要素の数

# 集合演算の例
a = {1, 3, 5, 8}
b = {3, 5, 8, 9}
print(a | b)        # 1,3,5,8,9
print(a & b)        # 3,5,8
print(a - b)        # 1

# 辞書型

sales = {"salesA": 200, "salesB": 400}
print(sales["salesA"])
sales["salesA"] = 300
sales["salesC"] = 500   # 要素追加
del(sales["salesB"])    # 要素削除
print(sales)

for key, value in sales.items():
    print("{0}: {1}".format(key, value))

# イテレータ

# scores = [40, 50, 70, 90, 60]
# it = iter(scores)
# print(next(it)) 40
# print(next(it)) 50
# print("hello")
# print(next(it)) 70
#
# for score in scores:
#     print(score)

def get_infinite(): # ジェネレータ
    i = 0
    while True:
        yield i * 2
        i += 1

g = get_infinite()
print(next(g)) # 0
print(next(g)) # 2
print(next(g)) # 4

実行結果
f:id:tos5511:20170102135416p:plain

# 要素を3倍する

# map(関数, イテレータ)
def triple(n):
    return n * 3
print(list(map(triple, [1, 2, 3])))

# lambda 引数: 処理
print(list(map(lambda n: n * 3, [1, 2, 3])))


#要素が偶数だったら抽出する

# filter(関数, イテレータ)
def is_even(n):
    return n % 2 == 0
print(list(filter(is_even, range(10))))
# lambda 引数: 処理
print(list(filter(lambda n: n % 2 == 0, range(10))))

実行結果
f:id:tos5511:20170102141309p:plain

Pythonについて下準備が終わった為、着手が遅くなりましたが
今後はゼロから作るDeep Learningについて学習を進めていきます。