Python 3 エンジニア認定実践試験 問題集9. 「データ型とアルゴリズム」

投稿日:

更新日:

カテゴリ:

Python 3 エンジニア認定実践試験対策として、第9章「データ型とアルゴリズム」についてChatGPTで生成した模擬問題です。

生成された問題の適切性と“正解”回答の正しさは一通り検証しておりますので、皆さんのご参考になれれば嬉しいです。

問題

問題は以下になります。問題の下に正解を隠してますので、クリックしたら確認できます。
あとは、検証した内容や補足を付け加えてますので参考にしてください。

  1. リストをソートするために使用される組み込み関数は何ですか?
    • a) sorted()
    • b) sort()
    • c) sort_list()
    • d) order()
    クリックして正解と解説をチェック
    正解: a) sorted()
    >>> sorted(['c', 'a', 'b'])
    ['a', 'b', 'c']

  2. リストを破壊的なソートするために使用されるメソッドは何ですか?
    • a) sorted()
    • b) sort()
    • c) sort_list()
    • d) order()
    クリックして正解と解説をチェック
    正解: b) sort()
    >>> li = ['c', 'a', 'b']
    >>> li.sort()
    >>> li
    ['a', 'b', 'c']

  3. リスト内の要素を逆順にするために使用する関数は何ですか?
    • a) reverse()
    • b) invert()
    • c) flip()
    • d) backwards()
    クリックして正解と解説をチェック
    正解: a) reverse()
    >>> li = ['c', 'a', 'b']
    >>> li.reverse()
    >>> li
    ['c', 'b', 'a']

  4. 辞書オブジェクトdictのキーでソートされた順序でキーと値のペアを返すために使用するメソッドは何ですか?
    • a) sorted(dict)
    • b) dict.sort()
    • c) dict.items().sort()
    • d) sorted(dict.items())
    クリックして正解と解説をチェック
    正解: d) sorted(dict.items())
    >>> {'c':1, 'b':2, 'a':3}
    {'c': 1, 'b': 2, 'a': 3}
    >>> {'c':1, 'b':2, 'a':3}.items()
    dict_items([('c', 1), ('b', 2), ('a', 3)])
    
    >>> sorted({'c':1, 'b':2, 'a':3})
    ['a', 'b', 'c']
    
    >>> sorted({'c':1, 'b':2, 'a':3}.items())
    [('a', 3), ('b', 2), ('c', 1)]

  5. collections モジュールを使用して、要素の数をカウントするためのクラスは何ですか?
    • a) Counter
    • b) CounterDict
    • c) CountDict
    • d) CountedDict
    クリックして正解と解説をチェック
    正解: a) Counter
    >>> from collections import Counter
    >>> c = Counter()
    >>> c['a'] += 1
    >>> c['a'] += 1
    >>> c['b'] += 1
    >>> c
    Counter({'a': 2, 'b': 1})

  6. enum モジュールを使用して、列挙型(Enum)を定義するためのクラスは何ですか?
    • a) EnumType
    • b) Enumeration
    • c) EnumClass
    • d) Enum
    クリックして正解と解説をチェック
    正解: d) Enum
    >>> import enum
    >>> class Nengo(enum.Enum):
    ...     SHOWA = 1
    ...     HEISEI = 2
    ...     REIWA = 3

  7. itertools モジュールを使用して、複数のイテラブルから要素を連結するための関数は何ですか?
    • a) combine()
    • b) merge()
    • c) interleave()
    • d) chain()
    クリックして正解と解説をチェック
    正解: d) chain()
    >>> import itertools
    >>> it = itertools.chain(['a', 'b'], 'ab', range(3))
    >>> list(it)
    ['a', 'b', 'a', 'b', 0, 1, 2]

  8. リストの内容をコピーするために使用する関数は何ですか?
    • a) duplicate()
    • b) copy_list()
    • c) clone()
    • d) copy.deepcopy()
    クリックして正解と解説をチェック
    正解: d) copy.deepcopy()

  9. itertools モジュールを使用して、複数のイテラブルの要素の組み合わせを生成するための関数は何ですか?
    • a) permute()
    • b) combinations()
    • c) combine()
    • d) mix()
    クリックして正解と解説をチェック
    正解: b) combinations()
    >>> import itertools
    >>> list(itertools.combinations('abc', 2))
    [('a', 'b'), ('a', 'c'), ('b', 'c')]

  10. 文字列を反転させるために使用するスライスの記法は何ですか?
    • a) [::-1]
    • b) [:0:-1]
    • c) [0::-1]
    • d) [1:-1:-1]
    クリックして正解と解説をチェック
    正解: a) [::-1]
    >>> "abc"[::-1]
    'cba'
    
    >>> "abc"[:0:-1]
    'cb'
    
    >>> "abc"[0::-1]
    'a'
    
    >>> "abc"[1:-1:-1]
    ''

  11. copy モジュールを使用して、浅いコピーを作成するためのメソッドは何ですか?
    • a) shallow_copy()
    • b) copy()
    • c) clone()
    • d) copy.shallow()
    クリックして正解と解説をチェック
    正解: b) copy()

  12. リスト内の特定の値を削除するために使用するメソッドは何ですか?
    • a) remove_all()
    • b) clear()
    • c) erase()
    • d) remove()
    クリックして正解と解説をチェック
    正解: d) remove()

    存在しない値を削除しようとすると、次のようにValueErrorになります。
    全部削除はclear()です。

    >>> li = ['a', 'b', 'c', 'a', 'b', 'c']
    >>> li
    ['a', 'b', 'c', 'a', 'b', 'c']
    >>> li.remove('b')
    >>> li
    ['a', 'c', 'a', 'b', 'c']
    
    >>> li.remove('d')
    Traceback (most recent call last):
      File "", line 1, in 
    ValueError: list.remove(x): x not in list
    
    >>> li = list(range(10))
    >>> li
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> li.clear()
    >>> li
    []
    

  13. 2つのリストを結合するために使用する演算子は何ですか?
    • a) merge()
    • b) concat()
    • c) +
    • d) add()
    クリックして正解と解説をチェック
    正解: c) +
    >>> li1 = ['a', 'b', 'c']
    >>> li2 = [1, 2, 3]
    >>> li1 + li2
    ['a', 'b', 'c', 1, 2, 3]


投稿日

カテゴリー:

投稿者:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です