![見出し画像](https://assets.st-note.com/production/uploads/images/121082505/rectangle_large_type_2_be0494dccbaa773a1ef2235be77887b4.png?width=800)
【Python3エンジニア認定基礎試験】誤答ノート(関数・コレクション)
1.はじめに
こんにちは、今日はPython3検定試験の準備問題を解いてみました。 関数とコレクションに関する問題ですが、どの言語をするにしても重要なので、必ず熟知しなければなりません。
2.5章:関数
![](https://assets.st-note.com/img/1699353986652-AAm7OkbNEo.png?width=800)
![](https://assets.st-note.com/img/1699353989919-OksITxSYyA.png?width=800)
![](https://assets.st-note.com/img/1699354624427-3bULZkGJOI.png)
![](https://assets.st-note.com/img/1699355877387-6rLUWDcYzN.png)
**=>dictionary
*args (Arbitrary Arguments):
*argsは関数内で任意の数の位置引数を表すために使用されます。
*argsはタプルで渡された全ての位置引数を含んでいます。
これは関数内で複数の位置引数を処理するときに便利です。
**kwargs (Arbitrary Keyword Arguments):
**kwargs は関数内で任意の数のキーワード引数を表すために使用されます。
**kwargsはディクショナリーに渡された全てのキーワード引数を含んでいます。
これは関数内で複数のキーワード引数を処理する時に便利です。
![](https://assets.st-note.com/img/1699356326458-dqWwQQkQW4.png)
*を先頭につけることで、要素を位置引数に展開して引数に渡せます。これをアンパックと呼びます。
**を先頭につけることで、キーワード引数にとして指定できます。
ラムダ関数(lambda function)はPythonで簡単な匿名関数を作るために使います。一般関数と同じようにデータを処理して返すことができますが、ラムダ関数は名前がなく、主に1行で簡単な演算を実行するために使われます。
add = lambda x, y: x + y
result = add(5, 3)
print(result) # => 8
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # => [2, 4, 6, 8, 10]
![](https://assets.st-note.com/img/1699357618244-2Qdv4o3lBP.png)
3.6章:コレクションの操作
![](https://assets.st-note.com/img/1699358411080-vnoMnBHCcI.png)
dequeはPythonの内蔵モジュールであるcollectionsが提供する資料構造の一つで、"double-ended queue"の略です。 dequeはリストと似ていますが、両端で要素を追加したり削除する時、素早く動作することが主な特徴です。 dequeはスタック(Stack)やキュー(Queue)のような様々な資料構造を実装するのに便利です。
collectionsモジュールをimportした後、dequeオブジェクトを生成して使うことができます。
dequeは特にキューの演算をサポートするpopleft()メソッドを使って効率的なキューの実装を提供します。
![](https://assets.st-note.com/img/1699358724897-PTiDjIbGpz.png)
tuple(["spam", "ham", "eggs"])だと、タプルになる。
[ ]の有無がポイント。
![](https://assets.st-note.com/img/1699359115565-s2ETlFgQOn.png?width=800)
![](https://assets.st-note.com/img/1699359352585-84jpGLxaGw.png)
![](https://assets.st-note.com/img/1699359455070-2af3eZ47BI.png)
![](https://assets.st-note.com/img/1699359966846-uGYXS11evz.png)
![](https://assets.st-note.com/img/1699360957907-CGOK5tS6Y6.png)
![](https://assets.st-note.com/img/1699361179678-pFmaNh1CQo.png)
4.おわりに
今まで関数とコレクションで間違った問題をまとめてみました。*argsと**kwargsの違いと利用方法を注意しなければなりません。 この問題が一番難しかったからです。
フルスタックエンジニアを目指す
ソンさん
【参考】
『Python3エンジニア認定「基礎試験」問題集』(2023)
この記事が気に入ったらサポートをしてみませんか?