知っておくべき20のPython関数

コードを少なく書くことは、より読みやすく、機能的なプログラムを作成するための優れた方法です。Pythonで簡単に使用できる関数やメソッドを再作成するのに貴重な時間を無駄にしてはいけません。ただし、Pythonの組み込みツールに慣れていない場合は、そうしてしまう可能性があります。

コードを短縮し、効率を向上させる貴重な組み込みPython関数とメソッドのリストを次に示します。

1. reduce()

Pythonのreduce()関数は、リストまたは他のイテラブルデータ型の各項目を反復処理し、単一の値を返します。これはPythonの組み込みfunctoolsクラスのメソッドの1つです。

reduceの使用方法の例を次に示します。

from functools import reduce
def add_num(a, b):
return a+b
a = [1, 2, 3, 10]
print(reduce(add_num, a))
<strong>出力: </strong>16

reduce()関数を使用して文字列のリストをフォーマットすることもできます。

from functools import reduce
def add_str(a,b):
return a+' '+b
a = ['MUO', 'is', 'a', 'media', 'website']
print(reduce(add_str, a))

<strong>出力:</strong> MUO is a media website

2. split()

split()関数は、設定された基準に基づいて文字列を分割します。これを使用して、Webフォームから文字列値を分割できます。テキスト内の単語数を数えるために使用することもできます。

以下のコード例では、スペースがある場所にリストを分割します。

words = "column1 column2 column3"
words = words.split(" ")
print(words)
<strong>出力:</strong> ['column1', 'column2', 'column3']

3. enumerate()

enumerate()関数は、イテラブルの長さを返し、同時にその項目をループ処理します。したがって、イテラブルデータ型の各項目を印刷すると同時に、そのインデックスを出力します。

データベースで使用可能な項目のリストをユーザーに表示したいとします。それらをリストに渡してenumerate()関数を使用すると、番号付きリストとして返すことができます。

enumerate()メソッドを使用してこれを実現する方法を次に示します。

fruits = ["grape", "apple", "mango"]
for i, j in enumerate(fruits):
print(i, j)

<strong>出力:</strong>
0 grape
1 apple
2 mango

一方、次のメソッドを使用してこれを実現するために貴重な時間を無駄にした可能性があります。

fruits = ["grape", "apple", "mango"]
for i in range(len(fruits)):
print(i, fruits[i])

リストを列挙すると、より高速になるだけでなく、番号付き項目の表示方法をカスタマイズできます。

基本的に、startパラメータを含めることで、ゼロではなく1から番号を付けることを決定できます。

for i, j in enumerate(fruits, start=1):
print(i, j)
<strong>出力:</strong>
1 grape
2 apple
3 mango

4. eval()

Pythonのeval()関数を使用すると、整数または浮動小数点数の数学演算を、文字列形式の場合でも実行できます。数学的計算が文字列形式の場合に役立ちます。

仕組みを次に示します。

g = "(4 * 5)/4"
d = eval(g)
print(d)
<strong>出力:</strong> 5.0

5. round()

round()を使用して、数学演算の結果を特定の有効数字に丸めることができます。

raw_average = (4+5+7/3)
rounded_average=round(raw_average, 2)
print("The raw average is:", raw_average)
print("The rounded average is:", rounded_average)

<strong>出力:</strong>
The raw average is: 11.333333333333334
The rounded average is: 11.33

6. max()

max()関数は、イテラブルの中で最もランクの高い項目を返します。ただし、最も頻繁に出現する値と混同しないように注意してください。

max()関数を使用して、以下の辞書の中で最もランクの高い値を印刷してみましょう。

b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
print(max(b.values()))
<strong>出力:</strong> zebra

上記のコードは辞書内の項目をアルファベット順に並べ、最後の項目を印刷します。

次に、max()関数を使用してリストの中で最大の整数を表示します。

a = [1, 65, 7, 9]
print(max(a))
<strong>出力:</strong> 65

7. min()

min()関数は、max()とは逆の動作をします。

fruits = ["grape", "apple", "applesss", "zebra", "mango"]
b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
a = [1, 65, 7, 9]
print(min(a))
print(min(b.values()))

<strong>出力:</strong>
1
apple

8. map()

reduce()と同様に、map()関数を使用すると、イテラブルの各項目を反復処理できます。ただし、単一の結果を生成する代わりに、map()は各項目を個別に操作します。

最終的に、map()関数を使用して2つ以上のリストに対して数学演算を実行できます。任意のデータ型を含む配列を操作するために使用することもできます。

map()関数を使用して、整数を含む2つのリストの合計を求める方法を次に示します。

b = [1, 3, 4, 6]
a = [1, 65, 7, 9]

<strong># 加算を処理するための別々の関数を宣言します。</strong>
def add(a, b):
return a+b

<strong># 関数と2つのリストを組み込みのmap()関数に渡します。</strong>
a = sum(map(add, b, a))
print(a)
<strong>出力:</strong> 96

9. getattr()

Pythonのgetattr()は、オブジェクトの属性を返します。クラスとターゲット属性名という2つのパラメータを受け取ります。

次に例を示します。

class ty:
def __init__(self, number, name):
self.number = number
self.name = name

a = ty(5*8, "Idowu")

b = getattr(a, 'name')
print(b)

<strong>出力:</strong>Idowu

10. append()

PythonでWeb開発や機械学習に取り組んでいる場合でも、append()はよく必要になる別のPythonメソッドです。元のコンテンツを上書きせずに、新しいデータをリストに書き込むことで機能します。

以下の例では、整数範囲の各項目を3倍にして、既存のリストに書き込んでいます。

nums = [1, 2, 3]
appendedlist = [2, 4]
for i in nums:
a = i*3
appendedlist.append(a)
print(appendedlist)

<strong>出力:</strong>[2, 4, 3, 6, 9]

11. range()

Pythonのrange()には、すでに慣れているかもしれません。特定の数字の間にある整数のリストを、明示的に書き出さずに作成したい場合に便利です。

この関数を使用して、1から5までの奇数のリストを作成してみましょう。

a = range(1, 6)
b = []
for i in a:
if i%2!=0:
b.append(i)
print(b)

<strong>出力:</strong> [1, 3, 5]

12. slice()

slice()関数と従来のスライスメソッドは、同様の出力を提供しますが、コードでslice()を使用すると、より読みやすくなります。

スライスメソッドを使用して、変更可能なイテラブルをスライスできます。

b = [1, 3, 4, 6, 7, 10]
st = "Python tutorial"
sliceportion = slice(0, 4)

print(b[sliceportion])
print(st[sliceportion])
<strong>出力:</strong>
[1, 3, 4, 6]
Pyth

以下の従来の方法を使用すると、上記のコードと同様の出力が得られます。

print(b[0:4])
print(st[0:4])

13. format()

format()メソッドを使用すると、文字列の出力を操作できます。仕組みを次に示します。

multiple = 5*2
multiple2 = 7*2
a = "{} is the multiple of 5 and 2, but {} is for 7 and 2"
a = a.format(multiple, multiple2)
print(a)

<strong>出力:</strong>
10 is the multiple of 5 and 2, but 14 is for 7 and 2

14. strip()

Pythonのstrip()は、文字列の先頭文字を削除します。指定された文字のいずれかに一致する場合、文字列から最初の文字を繰り返し削除します。

文字を指定しない場合、stripは文字列から先頭の空白文字をすべて削除します。

以下のコード例では、文字列から文字Pと前のスペースを削除します。

st = " Python tutorial"
st = st.strip(" P")
print(st)
<strong>出力:</strong> ython tutorial

(" P")("P")に置き換えて、何が起こるかを確認できます。

15. abs()

負の数学的出力を中立化したいですか?その場合は、abs()関数をお試しください。計算プログラミングやデータサイエンスの操作に役立ちます。

仕組みについては、以下の例を参照してください。

neg = 4 - 9
pos = abs(neg)
print(pos)
<strong>出力:</strong> 5

16. upper()

名前が示すように、upper()メソッドは文字列の文字を大文字に変換します。

y = "Python tutorial"
y = y.upper()
print(y)

<strong>出力:</strong> PYTHON TUTORIAL

17. lower()

お察しの通り、Pythonのlower()upper()の逆です。つまり、文字列の文字を小文字に変換します。

y = "PYTHON TUTORIAL"
y = y.lower()
print(y)

<strong>出力:</strong> python tutorial

18. sorted()

sorted()関数は、イテラブルからリストを作成し、その値を降順または昇順に並べ替えることで機能します。

f = {1, 4, 9, 3} # セットで試す
sort = {"G":8, "A":5, "B":9, "F":3} # 辞書で試す
print(sorted(f, reverse=True)) # 降順
print(sorted(sort.values())) # 昇順(デフォルト)

<strong>出力:</strong>
[9, 4, 3, 1]
[3, 5, 8, 9]

19. join()

join()関数を使用すると、リスト内の文字列項目をマージできます。

使用するデリミタとターゲットリストを指定するだけです。

a = ["Python", "tutorial", "on", "MUO"]
a = " ".join(a)
print(a)

<strong>出力:</strong> Python tutorial on MUO

20. replace()

Pythonのreplace()メソッドを使用すると、文字列の一部を別の文字に置き換えることができます。データサイエンス、特にデータクレンジング中に役立つことがよくあります。

replace()メソッドは、置き換えられる文字と、置き換えたい文字という2つのパラメータを受け取ります。

仕組みを次に示します。

columns = ["Cart_name", "First_name", "Last_name"]
for i in columns:
i = i.replace("_", " ")
print(i)
<strong>出力:</strong>
Cart name
First name
Last name

Pythonの力を高めるために学習を続ける

コンパイルされた高水準プログラミング言語として、広大なコミュニティサポートを備えたPythonは、多くの追加の関数、メソッド、モジュールを受け取り続けています。そして、ここでは一般的なもののほとんどを扱いましたが、正規表現などの機能を研究し、それらが実際にどのように機能するかを深く理解することで、Pythonの進化のペースに遅れずについていくことができます。