こんにちは。今回はPythonの基本で曖昧に記憶している点を復習し、備忘録として残します。
環境:Mac、Python3
Contents
- 1 個数を集計する
- 2 for文で要素を確認し、if文で振り分ける。
- 3 空の辞書に値を追加する
- 4 for文で結果を縦に表示させます。
- 5 Python:from collections import Counter
- 6 Python:ファイルを開く
- 7 ファイルを開く2
- 8 for文を使用してファイルを読み込みます。
- 9 Python:rstripを使用して改行文字を削除します。
- 10 splitを使用して文字列をリストにします。
- 11 splitした結果をfor文で一覧表示にします。
- 12 ファイルのデータに言葉を添えて、一覧表示する。
- 13 読み込んだデータの数字に10%を掛ける
- 14 読み込んだデータに特定の名前が存在するか確認します
個数を集計する
stocksの銘柄を購入したら、buyに記録しています。
1回に1株のみ購入します。
次のように加算されました。
{‘Apple’: 3, ‘Facebook’: 1, ‘Netflix’: 2}
for文で要素を確認し、if文で振り分ける。
for文とif文を組み合わせて使います。
会社名が6文字の会社をPythonの関数lenを使用して取得します。
このような結果になりました。
Amazon
Google
空の辞書に値を追加する
空の辞書usa_stocksへ、for文を使って値を追加していきます。
リストboughtの値を追加していきます。
このような結果になりました。
{‘Apple’: 3, ‘Google’: 2, ‘Facebook’: 1}
for文で結果を縦に表示させます。
前述の結果は見づらいので、for文を使用して縦一覧に並べます。
このように表示されました。
Apple:3
Google:2
Facebook:1
Python:from collections import Counter
collectionsモジュールのCounterを使用すると、簡潔に記載できます。
このような結果になります。
{‘Apple’: 3, ‘Google’: 2, ‘Facebook’: 1}
Python:ファイルを開く
inputディレクトリにcsvファイルを作成します。
プログラムを使用して、ファイルの中身を表示させましょう。
手順は次の通りです。
1.ファイルを開く
2.ファイルのデータを読み込む
3.表示させる。
4.ファイルを閉じる。
open(ファイルのパス, 文字コードの指定)を使用します。
utf-8は、このcsvファイルがutf-8で作成されている為です。
encodingを指定しないと、プラットフォームに依存した文字コードとなります。
文字化けが起きる可能性があります。
このように表示されました。
AMZN,1600
AAPL,152
MSFT,102
NFLX,337
NVDA,148
GOOGL,1056
ファイルを開く2
Pythonの構文with()を使用してファイルを開くことをお勧めします。
withを使用すれば、close()を書く必要が無くなります。
withの次の行は、インデントさせます。
結果は前述と同じですので、記載を省いています。
for文を使用してファイルを読み込みます。
次のように1行づつスペースができます。
AMZN,1600
AAPL,152
MSFT,102
NFLX,337
NVDA,148
GOOGL,1056
print文は、データを自動で改行します。
for文は、データの末尾に改行文字\nを設けます。
よって、改行が2回行われています。
Python:rstripを使用して改行文字を削除します。
rstrip()メソッドは、文字列の末尾の空白、タブ、改行を削除します。
このようになります。
AMZN,1600
AAPL,152
MSFT,102
NFLX,337
NVDA,148
GOOGL,1056
lstrip()は、文字列の先頭の空白、タブ、改行を削除します。
strip()は、文字列の先頭と末尾の空白、タブ、改行を削除します。
splitを使用して文字列をリストにします。
Pythonの関数split()を使用すると、文字列をリストに変えることができます。
カンマで区切るように指定しました。
次のような結果になります。
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
splitした結果をfor文で一覧表示にします。
半角で区切られているデータを半角スペースで区切ります。
for文を使用して一覧表示にしています。
次のようになります。
a
b
c
d
e
f
ファイルのデータに言葉を添えて、一覧表示する。
row.rstrip().split(‘,‘)では、末尾の文字コード削除とカンマ区切りを一度に指定しています。
.split()は、リストを返すので、rstrip()の前に記述してはいけません。
次のように表示されます。
AMZNの株価は1600ドルです
AAPLの株価は152ドルです
MSFTの株価は102ドルです
NFLXの株価は337ドルです
NVDAの株価は148ドルです
GOOGLの株価は1056ドルです
読み込んだデータの数字に10%を掛ける
ファイルから読み込んだデータは文字列なので、数値に変換してから計算します。
次のように表示されます。
AMZNの株は1760ドルで利食いましょう
AAPLの株は167ドルで利食いましょう
MSFTの株は112ドルで利食いましょう
NFLXの株は370ドルで利食いましょう
NVDAの株は162ドルで利食いましょう
GOOGLの株は1161ドルで利食いましょう
読み込んだデータに特定の名前が存在するか確認します
ファイルから読み込んだデータに、AAPLまたはAMZNが存在するかを確認します。
次のような結果となります。
AMZNの株は既に持っています
AAPLの株は既に持っています
次のようにも書けます。
いかがでしたでしょうか?
基本から実践的な部分まで復習してみました。