Python 基礎 リストとdict(辞書)について解説

代替テキスト

疲れたらKotaro Studioの癒しのピアノ作品で休憩しながら進めてね!

リストの作り方

M1 Mac以降の Python 環境構築 [完全保存版]

リストを作成するとそれぞれ順番にインデックス番号が振り分けられます。

重要な点は一番最初の番号は[0]になるということです。

インデックス番号はリストを呼び出したり編集したりする際に必要ですので間違えないようにしましょう。

ルール

[]

で括り、

,

で区切ります。

,の後は半角スペースが入ります。

実際に作成してみます。

numbers = [100, 200, 300, 400, 500]

ターミナルとVScodeは前回までに試していますので、本日はJupyter Labを使用してチェックしていきましょう。

VScodeやJupyter Labの環境整備についてはこちらの記事を参考にしてください。

M1 Mac以降の Python 環境構築 [完全保存版]

ターミナルから起動する場合は

jupyter lab 

アナコンダのGUIからも起動できます。

起動するとGoogle Chromeが開きますので、Python3をクリック。

早速1行目に先ほどのリストをコピペしてください。

numbers = [100, 200, 300, 400, 500]

Shift + Enter

で次の行に行きます。

よく起こるエラーとしては、Chromeの自動翻訳機能が働いて入力した英語が日本語に勝手に変わってしまうというケースがありますので、Chromeの自動翻訳機能はオフにしておいてください。
print(numbers[0])

リストから一番最初のものを表示させます。

続く1番目(最初は0番目というルール)、2番目と表示させて行きましょう。

n番目の要素は n-1 と覚えておいてもいいですね。

文字の場合はダブルクォーテーションをつけることを忘れずに。

# もちろん文字はなんでもOKです。
moji = ["oro", "pink", "Mac", "Lab", "Python"]

リストの指定方法

-を使ったリスト内要素指定方法

-で指定することで、一番最後の要素から数えて抽出が可能です。

先ほどのmojiの続きでやってみましょう。

-1が一番最後のリスト要素になります。

print(moji[-1])

Pythonが表示されました。

変数に代入してから指定

一度変数に代入してから抽出も可能です。

# ここで変数を定義
n = 2
# n番目の要素を抽出
print(moji[n])
# 数値の変更も可能
#[]内では四則演算可能です。
#演算後の数値がリストにない場合は返ってきません。
print(moji[n + 1])

スライスしてリストから抽出

リストを曜日に変えてみましょう。

week = ["月", "火", "水", "木", "金"]
# 先頭含む4の一つ前まで
print(week[0:4])
# 先頭からの場合0を省略することができます。
print(week[:3])
# 2番目から最後まで
print(week[2:])

リストの追加と削除

掲載画像が誤ってシングルクォーテーションになっていますが、Pythonはダブルクォーテーションにしてください。

リストの追加はlist.append()や、+演算子を使う方法があります。

メソッド機能
append(item)リストの最後にitemを追加。
extend(iterable)リストの最後に、イテラブルiterableの要素全てを追加。
insert(i, item)iの位置の前に、itemを追加。
remove(item)itemを削除。
pop([i])iの位置の要素を削除して、その要素を返します。iを省略で、末尾の要素を削除。
clear()全ての要素を削除。
index(item[, start[, end]])itemを探し、その位置を返します。見つからなければエラー(ValueError)。探索範囲は、startからendの前まで。返り値は[start, end)の範囲。省略すると全体を探す。
count(item)itemの出現回数を返します。
sort(key=None, reverse=False)リストをソート。keyで比較の関数を指定。reverse=Trueで大きい順に。
reverse()インプレース演算で逆順。
copy()コピーを作成。

ist.append()を使ってみます。

# 土曜日と日曜日を追加する
week.append("土")
week.append("日")
# 表示
print(week)

insertを使って途中に追加

insert(位置, 追加要素)

で追加することが可能です。

追加してみます。

# 要素の番号は先頭が0なのを忘れずに!
week.insert(1, "月")
# ちなみにもう一つ練習で追加
week.insert(5, "金")
# 表示
print(week)

これで昭和の日本を代表する曜日に土曜と日曜がおまけされたものが完成しました。

演算子を使ってリストを結合

再び元のリストを打ち込んでください。

week = ["月", "火", "水", "木", "金"]
# リストを結合させる
week = ["土", "日"] + week
# 表示
print(week)

リストから削除

リスト名.pop()

リストの末尾の要素を削除することができます。

()内には削除するリストのインデックス番号を入力。

week = ["月", "火", "水", "木", "金"]
# 1番目の要素を削除
week.pop(1)
# 表示
print(week)

del文で削除

week = ["月", "火", "水", "木", "金"]
del week[3]
# 表示
print(week)

[]内には削除したい要素を指定。

リストを変更

week = ["月", "火", "水", "木", "金"]
# 水曜日をお休みに変えてみる。
week[2] = "お休み"
# 表示
print(week)
# 数値の場合は""なし。
リスト名[インデックス番号] = "変えたい文字や数値"

dict(辞書)について

リストと辞書のの違いは辞書には順序がないことです。

ただし辞書はデータ検索が可能です。

主なルールは{}を使うこと。

{'name': 1, 'name2': 2, 'name3': 3, , , , , ,

のように作成していきます。

キーと値をコロン(:)で結合し、カンマ(,)で複数の要素を区切ります。

辞書の作成とタイプ確認

d = {
     'Name' : 'Angela Merkel',
     'Country' : 'Germany',
     'Profession' : 'Chancelor',
     'Age' : 64
     }
type(d)

typeを表示させるとdictと返ってきました。

print(d['Name'], d['Age'])

指定された文字が返ってきます。

d.keys()
d.values()
d.items()

でそれぞれの対応を表示。

サンプル

birthday = True
if birthday:
    d['Age'] += 1
print(d['Age'])
for item in d.items():
    print(item)

Set(集合)

金融やトレードではほとんど使うことがありません。

不変型のfrozensetもありますが、ほとんど使うことはありません。

Setは順序もなく、オブジェクトの集まりです。

集合で使うメソッド一覧はこちら。

add(item)itemを追加。
update(iterable)イテラブルiterableの要素全てを追加。
clear()全ての要素を削除
pop()指定の要素を削除
remove(item)itemを削除 / itemなしでエラー(KeyError)。
discard(item)itemを削除 / itemなしでもエラーなし(KeyError)。

Kotaro
Kotaro
服部 洸太郎
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、介護で使えるプログラムをM5Stackを使って自作。
株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにてアルゼンチンタンゴをはじめとした民族音楽に関する文化の研究、ピアノ音響、さらに432hz周波数を使った癒しのサウンドを研究中。
2022年9月より豊かな暮らしをテーマとしたウェブサイト『レンタルdeクラセル』も発信中〜