#はじめに
20日を担当いたしますyozakuraです。今回で2回目の投稿となるのですが、ネタがありませんねw。本当はdiscordbotについて書きたかったんですがうまく動かなかったので他pythonの基本的なことを書きたいと思います。
字数稼ぎに今回も漫画紹介させてもらいます。紹介するのは5等分の花嫁です。キャラ一人ひとりに個性があって飽きることなく読めます。アニメ化も決定してるので是非!!
#List
Pyhtonのリスト機能は、APIで提供されているJSONファイルを使いたい時や文字列や数値を順番に管理したい時、それから変数の内容が変わる時に使う機能です。pythonにはリストとタプルというものがあります。最初にリストの良さと使い方の説明をしたいと思います。
###Listの良さ
###要素を順番に管理したいときに向いている
###リストはミュータブルなので、リストの内容を直接変更できる
###普通の配列のように扱える
それでは実際にコードを使って説明していきたいと思います。
empty_list = []
name = ['jhon', 'max', 'king', 'sin']
x = ['a', 'b' ,'c' ,'d']
print(name)
まず要素を作ります。この時巻まで区切らないと要素を呼び出した際につながってしまうので注意です。そのあとprintを誓って呼び出したい要素を設定します上の場合だとnameという要素を設定しています。コマンドプロントでpython sample.pyと入力してみると
###offsetを使って呼び出す
まず、offsetとは、ある基準から数えて指定した数のデータを持ってくることです。基準は0からスタートです。-を使うと逆から数えてデータを持ってきます。
sample_list = ['a','b','c','d','e']
sample_list[0]
この場だと一番先頭にあるaが出てきます。
さらにoffsetを使えば書き換えもできます。
上のコードにを加えると先頭から二番目のbがlに変わります。
sample_list[1] = 'l'
print(sample_list)
このように簡単に書き換えることができます。ほかにもいろんな関数があります。
####append・・・要素の追加(末尾に)
####insert・・・上のappendは末尾にしか追加ができませんがinsertは指定したところに要素を入れることができます。
####del・・・要素の削除
####remove・・・上のdelは指定したものが削除できないので指定して削除尾したいときはremove
###これを知っておけば楽にデータ管理ができる!!
ここからは大量にある要素を簡単に管理できる関数を教えたいと思います。
まず、inを使ってその要素があるか確認できるというものです。
sample_list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u']
これだけ要素が多いと見て探すのがとても大変だと思います。そこでinを使います。上のコードにこれを付け足すだけ
if 'a' in sample_list:
print('True')
else:
print(False)
これはaがsample_list内にあったらTrueでなかったらFalseと出るもです。結果がこちらです
下のはaをzに変えたものです。簡単に判別ができるので大量のデータから欲しいのをだしたいときに便利です。
次はsort関数を使って並び替えるというものです。ごちゃごちゃしたデータを簡単に並び替えてくれます。
sortには二種類あります。1つ目がsortこれはその場でリスト自体ソートするというものです。2つ目がsortedこれはソートされたリストのコピーを返すというものです。言葉じゃわかりずらいと思うのでコードで説明します。最初にsortです。
sample_list = ['c','h','a','d','e','j','g','1','b','i','2','f','k','q','3','m','n','o','p','l','r','s','t','u']
sample_list.sort()
print(sample_list)
これを実行してみると['1', '2', '3', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u']最初に数字その後にローマ字がきます。次はsortedです。sortと一緒じゃないのかなと思いますが少し違います。
sample_list = ['c','h','a','d','e','j','g','1','b','i','2','f','k','q','3','m','n','o','p','l','r','s','t','u']
sample_list1 = sorted(sample_list)
print(sample_list1)
print(sample_list)
sample_list1をsample_listをソートしたものに置き換えます。そうすることによってソートする前のものを破壊せずにソートすることができます。多分それだけです。結果はこんな感じです['1', '2', '3', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u']
['c', 'h', 'a', 'd', 'e', 'j', 'g', '1', 'b', 'i', '2', 'f', 'k', 'q', '3', 'm', 'n', 'o', 'p', 'l', 'r', 's', 't', 'u']
リストの説明はここまでにして次はタプルです。
#タプル
タプルとリストって何が違うのって言われたらそんなに違いがないと思います。でも、メリットはあります。
####消費スペースが少ない
####イミュータブルなので誤って書き換える危険がない
####辞書キーとしても使える(説明はしない)
では、タプルの使い方を見てみましょう。タプルはリストと違って[]で囲む必要はありません。
sample_list = '1','2','3','4'
print(sample_list)
これで動きます。タプルはイミュータブルだから変更できないといいましたが追加や削除などはできます。リストよりめんどくさいかもしれませんが紹介しておきます。
sample_list = '1','2','3','4'
sample_list1 = sample_list + (5,6)
print(sample_list1)
新しいタプルを作って合体させることで一応追加はできますが不便に感じます。削除はスライスを使うことでできます。
タプルについての説明は少ないですがこれで終わりです。
#終わりに
今回はリストとタプルの機能と違いについて説明させていただきました。こんなものかと思うかともいますが覚えておくだけでデータの整理や呼び出しが簡単になるかと思います。このほかに辞書、集合があります。まだこっちのほうは勉強中なのででき次第紹介したいと思います。まだ、pythonの基礎ですが基礎を固めて応用につなげるようにしたいと思います。