なぜかよく忘れるPython文法①
【目的】よく忘れるPythonの文法について復習する
文字列フォーマット
文字列フォーマットとは埋め込み機能であり、変数などの値を文字列などに埋め込む
print("{0}さんの身長は{1:.1f}cm、体重は{2:.1f}kgです。".format("太郎", 170, 70.5))
太郎さんの身長は170.0cm、体重は70.5kgです。
基本的に、「インデックス、小数点何桁まで表示するか、型」の順で入力する。
【例】{ 2:.1f }は、インデックスが2(70.5)で小数点を一桁まで、float型で出力する。
zip関数
それぞれ異なるリストを同時に取り出して処理する
for one,two in zip([1, 2, 3], [11, 12, 13]):
print(one, "と" ,two)
1 と 11
2 と 12
3 と 13
それぞれのリストからインデックスが同じものを抽出してfor文によってすべて表示させる。
【例】それぞれのリストからインデックスが0である1と11を抜き出して出力する
無名関数
名前のない関数でコードを簡素化するために使用される。
(lambda a, b: a * b)(3, 10)
30
「lambda (引数) : (処理)」という記述の仕方をする。
map関数
高階関数で、イテレータを返す関数である。
list(map(lambda x: x * 2, [1, 2, 3, 4]))
[2, 4, 6, 8]
関数mapは第1引数に関数、第2引数にイテラブルをとる。
【例】リスト内の各要素に対して無名関数で処理したものをリスト化する
filter関数
map関数と同様にイテラブルをもらってイテレータを返す関数。違いは第1引数に真理値をとる関数を指定するということのみ。
def pos(x):
if x > 0:
return True
else:
return False
list(filter(pos, [1, -9, 2, 4, -5])
[1, 2, 4]
filter関数は、第1引数の真理値がTrueになったもののみを抽出する。
【例】pos関数で定義したように、リスト内の要素が正のものだけを抽出する
reduce関数
シーケンス内の要素を関数によって順番に統合をし、最終的に1つの値を返す。
from functools import reduce
total = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
print(total)
15
map関数は第1引数に関数、第2引数にイテラブルをとる。
【例】リスト内の各要素を和として統合する