ノンプロ研初心者プログラミング講座【Pythonコース第3期】第3回

コミュニティ「ノンプログラマーのためのスキルアップ研究会」の初心者プログラミング講座Pythonコース第3回のツイートまとめです。コンテンツは「リスト・タプル・辞書」です。
1
@shotarosawada

tuple《電算》タプル《複数の部分からならデータ構造》;《リレーショナルデータベースで》1レコードをなす一連のデータ 「n-tuple」という表現で、n個の要素からなる集合,n項組。『リーダーズ英和辞典(第3版)』より #ノンプロ研

2020-06-10 20:53:48
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

パックとアンパック。変数をタプルにまとめるのが前者、まとめられたタプルを別々の変数に展開するのが後者、というイメージ? #ノンプロ研

2020-06-10 20:58:37
しかお @shikao29

パック:タプルを生成して複数のデータをまとめる アンパック:タプルの要素を個別の変数に代入する #ノンプロ研

2020-06-10 20:59:13
@shotarosawada

タプルの「アンパック」はタプルの要素を別々に展開して代入する。packとunpack。zipとunzipみたいなイメージですかね #ノンプロ研

2020-06-10 20:59:26
すえ @sue1242

タプルのアンパック。 複数の変数に代入していくときに、1行で書けるのがいいですよね。 #ノンプロ研

2020-06-10 21:00:31
@shotarosawada

「タプルの括弧は省略可能なので、丸括弧を書かずにカンマ区切りで書くと、Pythonはそれをタプルと認識してくれます」a, b = 5, 10のようなコードがある場合は、タプルの性質であるパックとアンパックを1行で実行しているということらしい。#ノンプロ研

2020-06-10 21:04:29
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

たまに見かける a, b = 5, 10 という書き方。これはタプルのパック&アンパックの考え方を使っている。 #ノンプロ研

2020-06-10 21:04:44
@shotarosawada

「タプルのスライス」おいしそう。食後に出てきそうです。f'{hoge}風{fuga}ソース掛け'みたいな感じで #ノンプロ研

2020-06-10 21:05:29
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

mytuple = (10, 30)  <-パック (x, y) = mytuple <-アンパック この2行をシンプルに1行に書ける書き方。 #ノンプロ研

2020-06-10 21:05:46
@shotarosawada

タプルのスライスにおける、スタートとストップの両方を省略した書き方。まったく同じ値の組を持つタプルを複製し変数に代入したいときに、変数 = タプル名[:]のような書き方がされることがあるそうです。#ノンプロ研

2020-06-10 21:11:51
すえ @sue1242

ひたすら独学でPythonやると、「タプルって何」状態になりますw #ノンプロ研

2020-06-10 21:18:03
しかお @shikao29

・メソッドの返り値はtupleの場合が多い ・変更する可能性がある集合にはリストを使う #ノンプロ研

2020-06-10 21:18:08
@shotarosawada

リストとタプルの使い分けは、変更したいかどうか。自分で書くときにはリストのほうが多いかとは思うが、次回以降やるような組み込みの関数やメソッドの戻り値がタプルであることも多い。#ノンプロ研

2020-06-10 21:18:20
すえ @sue1242

「辞書って何?」もあったw 独学でやってた時はいろいろ飛び越えてpandas.DataFrameから勉強しちゃったTAです。 #ノンプロ研

2020-06-10 21:19:32
@shotarosawada

次のデータ型は「辞書」。なぜそこだけ訳したし。#ノンプロ研

2020-06-10 21:19:35
しかお @shikao29

辞書:キーで管理するデータの集合 (連想配列) #ノンプロ研

2020-06-10 21:20:41
@shotarosawada

「辞書」はリテラルで書く場合はたくさん書かないといけないというデメリットがあるが、キーも(文字列で)情報をもっているので、集合のなかにはいっているのがどのようなデータなのかがわかりやすいというメリットがある。 #ノンプロ研

2020-06-10 21:22:22
@shotarosawada

「リテラル」が好きになる #ノンプロ研 講座。けっこう懐の深い言葉ですよね。「(そのものの)表現」みたいなイメージでしょうか

2020-06-10 21:28:01
しかお @shikao29

辞書はkeyの存在確認は可能 (valueの存在確認はできない) 辞書はiterable(だが、sequenceではない) #ノンプロ研

2020-06-10 21:31:32
@shotarosawada

in演算子は「辞書」の場合は「キー」を対象に探す。つまり文字列。for 変数 in 辞書も同様で、値を参照したい場合は取り出したキーを使って辞書名[キー]で参照してあげる。#ノンプロ研

2020-06-10 21:32:46
すえ @sue1242

#ノンプロ研 名物のおにぎりカウント問題でPython初級講座第三回終了!

2020-06-10 21:39:25
しかお @shikao29

辞書:順番が保証されない 順番を扱うのが得意ではないので、順番を保証したい場合はlist等を使う方がよい #ノンプロ研

2020-06-10 21:41:56
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

辞書はイテラブルだけど順番が得意でない。順番を意識したいならリストやタプルを使うのがよい。 #ノンプロ研

2020-06-10 21:42:30
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

今のpythonは辞書の順番は定義した時の順に入るけど、昔のpythonだと順番は保証されていなかったらしい。 #ノンプロ研

2020-06-10 21:43:32
しかお @shikao29

keyやvalueを並び替えるのはlambda式を使った記憶があります。 sortやsorted使えたような気もします。 #ノンプロ研

2020-06-10 21:44:31