練習問題:オブジェクトの性質 | データ構造

練習問題:オブジェクトの性質 | データ構造#

Jupyter Notebook ファイルの準備

課題用に「practice8-5.ipynb」 という名前で Jupyter Notebook のファイルを作成してください。

この練習問題を通して、 オブジェクトの性質 | データ構造 で学習した内容を改めて確認してください。

ミュータブルとイミュータブル#

問題#

次の値が、それぞれ集合の要素として追加できるかできないかを予想した上で、実際にコードを書いて結果を確かめてください。

  • ('a', 'b', 'c')

  • ['a', 'b', 'c']

  • {'a', 'b', 'c'}

  • {'a' : 1 , 'b': 2, 'c': 3}

  • (('a', 1), ('b', 2), ('c', 3))

  • (['a', 1], ['b', 2], ['c', 3])

イテラブル#

問題1#

文字列は他のイテラブルなオブジェクトと同様に len() 関数を使用して、文字列の長さ(文字数)を取得できます。これを利用して、次の文字列を要素にもつリスト fruits から、各要素をキーに、その文字列の長さを値にもつ新たな辞書 fruits_dict を作成してください。

fruits = ['apple', 'strawberry', 'banana', 'orange']
# ここに fruits_dict を作成するコードを記述
print(fruits_dict)  # {'apple': 5, 'strawberry': 10, 'banana': 6, 'orange': 6}

問題2#

次の2つの集合 clothescolors から、洋服とその色の組み合わせを表すリスト styles を、 zip 関数を用いて作成してください。なお、洋服と色の組み合わせをすべて表す必要はなく、ひとつの洋服に対してひとつの色があてがわれていればよく、その組み合わせも問いません。

clothes = {'帽子', 'シャツ', 'ズボン', '靴'}
colors = {'緑', '青', '白', '黒'}

シーケンス#

問題1#

文字列はシーケンスなオブジェクトであるため、リストやタプルと同様に、スライスが利用できます。文字列 'たきぬつきね' から、以下に指定した範囲の文字をそれぞれ切り出して表示するスクリプトを作成してください。

  1. 4 文字目から 5 文字目まで

  2. 先頭から 2 つおきに末尾まで

  3. 2 文字目から 2 つおきに末尾まで

問題2#

ある野球における選手の打順を表したタプル batting_order から、次の形式で打順を出力するスクリプトを enumrate 関数を利用して作成してください。

batting_order = ('小林', '鈴木', '佐藤', '田中', '川合',
                 '福留', '石井', '小笠原', '田淵')

【 期待される出力 】

打順1: 小林
打順2: 鈴木
打順3: 佐藤
打順4: 田中
打順5: 川合
打順6: 福留
打順7: 石井
打順8: 小笠原
打順9: 田淵