プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

【Python連載】ユーザー定義関数-019-

www.pon-x.jp

今回は前回までのリストに続き、ユーザー定義関数を紹介します。

ユーザー定義関数

何度も同じ処理をするとき、その処理をひとつにまとめておいたほうが楽ですよね!!
その時には、ユーザー定義関数を使いましょう。(クラスについてはまた後日説明します。)

20歳未満なら"未成年"、そうでなければ"成年"と表示するユーザー定義関数を作ってみます。

def adult(age): 
    if age < 20:
        print("未成年")
    else:
        print("成年")

上記でadult という名前の関数を作りました。ageは引数といって、関数を実行するときに自由に設定できる値になります。

では実行してみましょう。

# 30を引数に入れてみます。
adult(30)

f:id:hanabusa-snow:20210917104415p:plain
引数が30なので"成人"と表示されました。

戻り値のあるユーザー定義関数

ユーザー定義関数は、結果として得られる戻り値というものがあります。
早速やってみましょう。

def adult(age):
    if age < 20:
        txt = "未成年"
    else:
        txt = "成年"
        
    return txt

今度は、printを使いませんでしたが、returnを用いています。
つまり、adultを実行すると、txtが値として戻されてくることになります。
実行してみましょう。

adult(10)

f:id:hanabusa-snow:20210917104943p:plain
このとおり、引数10に対して、"未成年"という結果が返されてきました。

以上、今回はここまでです。

【Python連載】リストを使った文字列操作-018-

www.pon-x.jp

前回の続きで今回はリストのちょっとした応用です。

文字列操作

自然言語処理を扱うときなど、文字列をハンドリングする機会があります。
今回はその基礎の基礎です。

区切り文字でリストにする

まず、スペース区切りでリストにしてみます。

s = "あ い う え お"

s.split()

f:id:hanabusa-snow:20210916112439p:plain

スペース以外ならsllitの中に区切り記号をいれてあげればOKです。

s = "あ,い,う,え,お"

s.split(",")

f:id:hanabusa-snow:20210916112528p:plain

逆に、リストを文字列にする

もちろん上記の逆も可能です。

l = ["あ", "い", "う", "え", "お"]

"".join(l)

f:id:hanabusa-snow:20210916112637p:plain

joinに引数を与えると区切り文字として挿入してくれます。

l = ["あ", "い", "う", "え", "お"]

",".join(l)

f:id:hanabusa-snow:20210916112726p:plain

注意!! 数値を連結する際は文字列に変換しましょう!!

# str で数値を文字列に変換する。

l = [1, 2, 3, 4, 5]
l = [str(i) for i in l]

",".join(l)

f:id:hanabusa-snow:20210916112821p:plain
数値のままだとエラーになるので気を付けましょう。

指定文字の除去

不要な文字を削除したい時は、けっこうな頻度であるのでぜひ覚えよう。
まずは、前後の文字列の削除

s= "-あいうえお-"

s.strip("-")

f:id:hanabusa-snow:20210916112946p:plain

stlipは前後の文字だけを対象にします。

# stripで除去できるのは前後の文字列のみ

s= "-あいう-えお-"

s.strip("-")

f:id:hanabusa-snow:20210916113024p:plain

全部取り除きたいときはreplaceを使うとよいです!!

s= "-あいうえお-"

s.replace("-","+")

f:id:hanabusa-snow:20210916113102p:plain

以上、今回はここまで

【Python連載】リストを使った文字列操作-018-

www.pon-x.jp

前回の続きで今回はリストのちょっとした応用です。

文字列操作

自然言語処理を扱うときなど、文字列をハンドリングする機会があります。
今回はその基礎の基礎です。

区切り文字でリストにする

まず、スペース区切りでリストにしてみます。

s = "あ い う え お"

s.split()

f:id:hanabusa-snow:20210916112439p:plain

スペース以外ならsllitの中に区切り記号をいれてあげればOKです。

s = "あ,い,う,え,お"

s.split(",")

f:id:hanabusa-snow:20210916112528p:plain

逆に、リストを文字列にする

もちろん上記の逆も可能です。

l = ["あ", "い", "う", "え", "お"]

"".join(l)

f:id:hanabusa-snow:20210916112637p:plain

joinに引数を与えると区切り文字として挿入してくれます。

l = ["あ", "い", "う", "え", "お"]

",".join(l)

f:id:hanabusa-snow:20210916112726p:plain

注意!! 数値を連結する際は文字列に変換しましょう!!

# str で数値を文字列に変換する。

l = [1, 2, 3, 4, 5]
l = [str(i) for i in l]

",".join(l)

f:id:hanabusa-snow:20210916112821p:plain
数値のままだとエラーになるので気を付けましょう。

指定文字の除去

不要な文字を削除したい時は、けっこうな頻度であるのでぜひ覚えよう。
まずは、前後の文字列の削除

s= "-あいうえお-"

s.strip("-")

f:id:hanabusa-snow:20210916112946p:plain

stlipは前後の文字だけを対象にします。

# stripで除去できるのは前後の文字列のみ

s= "-あいう-えお-"

s.strip("-")

f:id:hanabusa-snow:20210916113024p:plain

全部取り除きたいときはreplaceを使うとよいです!!

s= "-あいうえお-"

s.replace("-","+")

f:id:hanabusa-snow:20210916113102p:plain

以上、今回はここまで

【Python連載】辞書-017-

www.pon-x.jp

前回の続きで、今回は辞書型をやります。

辞書型

辞書型はリストを要素ごとにラベルづけしてあげるものです。

さっそくやってみましょう。

n = {"名前": "よしお",  "身長": 180, "体重": 70}

n

f:id:hanabusa-snow:20210915084757p:plain

辞書を作ることができました。
リストであればインデックス番号を指定して要素を引取り出せますが、辞書の場合は要素の名前でデータが取り出せます。

n["名前"]

f:id:hanabusa-snow:20210915084939p:plain

このとき、データラベルとキー、データをバリューと呼び、バリューはキーで呼び出すことを可能にしています。

データの追加

データの追加もとても簡単です。

n["身長"] = 190

n

f:id:hanabusa-snow:20210915085133p:plain

キーとバリューを指定すれば追加できます。

データの削除はキーを指定してあげるだけです。

# 体重のデータを削除してみよう

n.pop("体重")

n

f:id:hanabusa-snow:20210915085245p:plain

2次元辞書

辞書の中に辞書を入れる、つまり2次元辞書も作れます。

# まずは2人のデータを変数yoshio,hanakoに入れます。

yoshio =  {"身長": 180, "体重": 70 , "性別" : "男"}
hanako =  {"身長": 160, "体重": 45 , "性別" : "女"}

print(yoshio)
print(hanako)

f:id:hanabusa-snow:20210915085356p:plain
このとおり、まずは2つの辞書をつくりました。

2つの辞書を1つの辞書にまとめます。

# 2人のデータを変数meiboに入れます。
# この際に、名前をキーにします。

meibo = {"よしお" : yoshio , "はなこ" : hanako}

meibo

f:id:hanabusa-snow:20210915085457p:plain

この辞書の要素を取り出すときは、このようにします。

# はなこさんの体重を取り出す
meibo["はなこ"]["体重"]

f:id:hanabusa-snow:20210915085538p:plain

以上、今回はここまでです。


■告知 Pythonプログラミングを学ぶ基礎講座を開設しています。
興味がある方は、ぜひこちらから。
無料相談もやっております。

pumpkin-labo.com

【Python連載】タプル -016-

www.pon-x.jp

↑前回の続き

今回はタプルを紹介します。

タプル

タプルはリストにとてもにていますが、大きい特徴としては作成後に要素を変更することができないということが挙げられます。

では試してみます。

タプルを作成

n = ("あ", "い", "う", "え", "お")

n

f:id:hanabusa-snow:20210914084641p:plain

リストと同じようにあ塚つことができます。

print(n[2])
print(n[2:4])
print(n[2:])
print(n[:4])

f:id:hanabusa-snow:20210914084736p:plain

タプルは変更できない

タプルは作成後に変更することができないことを確認してみます。

# タプルは変更ができない。その1
# エラーになります。

n[2] = "か"

f:id:hanabusa-snow:20210914084858p:plain

# タプルは追加ができない。その2
# エラーになります。

n.append(1."か")

f:id:hanabusa-snow:20210914084931p:plain

# タプルは削除ができない。
# エラーになります。

n.pop(1)

f:id:hanabusa-snow:20210914084957p:plain

こんなかんじで、いずれもエラーになります。

作成はリストと扱い方がほぼ同じ

例えば、内包表記も可能です。

n = tuple(i for i in range(1, 11))

n

f:id:hanabusa-snow:20210914085106p:plain

こんなかんじで、扱うことができるタプルを紹介しました。


■告知 Pythonプログラミングを学ぶ基礎講座を開設しています。
興味がある方は、ぜひこちらから。
無料相談もやっております。

pumpkin-labo.com

【Python連載】リストの活用 -015-

www.pon-x.jp

今回は、リストを活用したちょっとしたテクニックを紹介します。

インデックスと要素を取り出す

リストの要素と、それが何番目の要素かということを知りたい時があります。
そんなときは、enumarateを使いましょう。

n = ["あ", "い", "う", "え", "お"]

for i,char in enumerate(n):
    print(i,char)

f:id:hanabusa-snow:20210910082811p:plain

2つのリストを要素ごとにまとめる

2つのリストを要素ごとにリストにしたいというときがあります。 そんなときは、zipをつかいましょう。

n = ["あ", "い", "う", "え", "お"]
m = ["か", "き", "く", "け", "こ"]

[i for i in zip(n,m)]

f:id:hanabusa-snow:20210910082951p:plain

こんなかんじで、リストはたくさんの要素を一つの変数に入れられる便利なものですが、さらに応用的につかうことでさまざまなデータを格納することができます。
テクニックを駆使することで、よりコードを短くできるのでぜひ覚えておきましょう。

■告知 Pythonプログラミングを学ぶ基礎講座を開設しています。
興味がある方は、ぜひこちらから。
無料相談もやっております。

pumpkin-labo.com

【Python連載】多次元リスト -014-

www.pon-x.jp

今回は、リストの要素にリストを入れた多次元のリストを紹介します。

2次元リスト

リストを3つ作って、それを要素とするリストを作成してみます。

s = [0, 1, 2]
t = [3, 4]
u = [5, 6, 7, 8]

r = [s, t, u]

r

こんなかんじに、リストの中にリストが入りました。
f:id:hanabusa-snow:20210528090641p:plain

こんなかんじに、どんどん入れ子にしていけば、3次元、4次元となっていきますが、今回は2次元にとどめておきます。

2次元リストの要素を呼び出してみる。

2つ目の要素を呼び出してみます。

r[1]

インデックス番号は0から始まるので、2番目は1で呼び出せます。
f:id:hanabusa-snow:20210528090821p:plain

さらに、掘り下げて「3」だけをとるにはこのようにします。

r[1][0]

このとおりです。
f:id:hanabusa-snow:20210528090936p:plain


以上になります。

■告知 Pythonプログラミングを学ぶ基礎講座を開設しています。
興味がある方は、ぜひこちらから。
無料相談もやっております。

pumpkin-labo.com