python 言語処理100本ノック -第1章: 準備運動- 02. 「パトカー」+「タクシー」=「パタトクカシーー」

02. 「パトカー」+「タクシー」=「パタトクカシーー」

「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ.

・zip() 複数のリストの要素をまとめて取得。
・lambda lambda x, y: x + y。ラムダ式の関数定義。
・lambda…ラムダ式の宣言
x, y …引数にxとyを定義
x + y …引数に対する演算。ここでは結合
・reduce 高階関数の1つ。複数の要素を1つにまとめる。
・join() リストの要素をすべて結合

# coding: utf-8
from functools import reduce

target1 = u'パトカー'
target2 = u'タクシー'
result = ''.join(reduce(lambda a, b: a + b, zip(target1, target2)))

print(result)

実行結果

パタトクカシーー

■開発環境
Windows10
Python 3.7.3
Visual Studio Code 1.33.1

■言語処理100本ノック 公式
言語処理100本ノック 2015