始める無料で始める

map() 関数

マッピングに挑戦しましょう!

zip() の動作を覚えていますか? 与えられたイテラブルを結合し、同じインデックスの要素同士を同じタプルにまとめます。さらに、出力の長さは最も短いイテラブルに制限されます。

あなたの課題は、可変個のイテラブル(例:リスト、文字列、タプル など)を表す *args を受け取る独自の my_zip() 関数を定義することです。my_zip()zip オブジェクトではなく、あらかじめタプルのリストを返すようにしてください。

注記:本来は args がイテラブルを含むかどうかを最初にチェックすべきですが、ここでは簡単のため省略します。

この演習はコースの一部です

Pythonでコーディング面接問題を練習する

コースを見る

演習の手順

  • map() を使って args からイテラブルの lengths を取得し、最小の長さを見つけます。
  • ループ内で、map() を用いてインデックス i が同じ args 内の要素を取得し、mapping を作成します。
  • mapping をタプルに変換し、tuple_list に追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def my_zip(*args):
    
    # Retrieve Iterable lengths and find the minimal length
    lengths = list(map(____, ____))
    min_length = ____

    tuple_list = []
    for i in range(0, min_length):
        # Map the elements in args with the same index i
        mapping = map(____, args)
        # Convert the mapping and append it to tuple_list
        tuple_list.append(____(____))

    return tuple_list

result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)
コードを編集して実行