Pythonテスト【本番モード】 1問目
0問中 0問正解 正答率0% (全40問)問題
次のプログラムを実行したときの出力として、正しいものの組み合わせはどれか。
arr = [10, 30, 12, 13, 50, 13, 19, 92] # 操作1 del arr[2] print(arr) # 操作2 arr = arr + [12, 0] print(arr) # 操作3 arr = sorted(arr) print(arr)
操作1について
①:[10, 30, 13, 50, 13, 19, 92]
②:[10, 12, 13, 50, 13, 19, 92]
操作2について
①:[10, 30, 13, 50, 13, 19, 92, 12, 0]
②:[10, 12, 13, 50, 13, 19, 92, 12, 0]
操作3について
①:昇順(小さいものから大きいものの順)にソートされる
②:降順(大きいものから小さいものの順)にソートされる
選択肢
(a) 操作1: ① 、操作2: ①、操作3: ①
(b) 操作1: ① 、操作2: ①、操作3: ②
(c) 操作1: ② 、操作2: ②、操作3: ①
(d) 操作1: ② 、操作2: ②、操作3: ②
- a
- b
- c
- d
問1: Python リストの操作(1)
答え
(a)
解説
正解は次の通りです。
プログラム:
arr = [10, 30, 12, 13, 50, 13, 19, 92] # 操作1 del arr[2] print(arr) # 操作2 arr = arr + [12, 0] print(arr) # 操作3 arr = sorted(arr) print(arr)
出力:
[10, 30, 13, 50, 13, 19, 92] #操作1のprint [10, 30, 13, 50, 13, 19, 92, 12, 0] #操作2のprint [0, 10, 12, 13, 13, 19, 30, 50, 92] #操作3のprint
操作1では、指定したインデックスの要素をリストから削除しています。del文を使うことで、不要になった変数やリストの要素を削除することができます。
del文の具体例①:
この例では、変数aに10を代入しています。最初のprint()では、変数aの内容が出力されますが、del文を実行したあとは変数aが削除されるので、その後にprint()を実行すると「変数aが定義されていません」というエラーが出力されます。
>>> a = 10 >>> print(a) 10 >>> del a >>> print(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
del文の具体例②:
最初のdel文では、インデックス2の要素のみを削除しているので、リストarrの12が削除されています。次のdel文では、2:5でスライスされた要素を削除しているので、インデックス2から5までの要素(13, 50, 13)が削除されます。最後のdel文では、変数arrそのものを削除しているので、print()でarrを表示しようとすると、未定義エラーが発生します。
>>> arr = [10, 30, 12, 13, 50, 13, 19, 92] >>> del arr[2] >>> print(arr) [10, 30, 13, 50, 13, 19, 92] >>> del arr[2:5] >>> print(arr) [10, 30, 19, 92] >>> del arr >>> print(arr) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'arr' is not defined
問題文の操作2では、リストの足し算を行っています。
Pythonではリストの足し算を行うことができるので、リスト[10, 30, 13, 50, 13, 19, 92]とリスト[12, 0]は新しいリスト[10, 30, 13, 50, 13, 19, 92, 12, 0]になります。
リストの足し算の具体例:
arr1 = [10, 30] arr2 = [1, 2, 3] print(arr1 + arr2) print(arr2 + arr1)
出力:
[10, 30, 1, 2, 3] [1, 2, 3, 10, 30]
最後に、操作3では配列の並べ替えを行なっています。Pythonでは、sorted関数を使うことで、リストを昇順・降順に並べ替えることが可能です。
sorted()の具体例:
arr = [10, 30, 12, 13, 50, 13, 19, 92] print(sorted(arr)) # 昇順 print(sorted(arr, reverse=True)) # 逆順
出力:
[10, 12, 13, 13, 19, 30, 50, 92] [92, 50, 30, 19, 13, 13, 12, 10]