【Python】 特定の文字や文字列の出現回数を数える(count)

count()は、シーケンス型(リスト、タプル、range, 文字列etc)の共通メソッドで、特定の文字(列)や要素の出現回数をカウントしてくれます。例えば、

  • ある文字列の中に文字”a”が何個あるか?
  • リストに、”Apple”という要素が何個あるか?

こんな場合に便利です。
また、collections.Counter()は、リストに含まれる要素がそれぞれ何個あるのかをまとめて出力してくれます。テキストデータに含まれる単語の出現頻度をまとめて出力することにも使えそうです。
“【Python】 特定の文字や文字列の出現回数を数える(count)” の続きを読む

【Python】 map関数の使いかた

map()は、イテラブルの要素を任意の関数に渡して新たなイテレータオブジェクトを生成する関数です。例えば、

  • リストの文字列の数字の要素をまとめてint型に変換したい
  • リストの各要素の数値をある関数に適用して、その結果を新しいリストで生成したい

こんな場面に使えます。尚、同様の機能はforループや内包表記を使って書くことも出来ますが、可読性や実行効率を考慮して使い分けるのが良いと思います。 “【Python】 map関数の使いかた” の続きを読む

【Python】 内包表記を使ったリストの生成方法

内包表記は、リストを生成するPythonのコードの書き方の一つです。
同じ機能はforループの構文やmap()を使って書けますが、コードの可読性や実行速度の点で内包表記の方が有利であると言われています。

本記事では、まずはforループ、map()関数を使ったリストの生成方法をおさらいした後に、内包表記の基本について述べ、その後、コードの簡潔さと処理速度を比較してみます。 “【Python】 内包表記を使ったリストの生成方法” の続きを読む

【Python】リストの要素をソート(list.sort、sorted)

Pythonにはデータ要素をソート(並べ替え)する関数が2つあります。

  • list.sort():リストのメソッド。データはインプレースに変更されます
  • sorted(iterable):任意のイテラブルをソートできます

今回は、これらの違いと使い方についてまとめます。 “【Python】リストの要素をソート(list.sort、sorted)” の続きを読む

[Python] リストの最大値、最小値とそのインデックスを取得する(max, min, index)

プログラムの中で

  • リストの最大値や最小値を取得したい!
  • 最大値(最小値)を取る要素のインデックスを取得したい!
  • 最大値が複数あるんだけど、全部のインデックスが知りたい!

こんな場合は、標準組み込み関数のmax()、min()およびindex()を使うと実現できます。
特に、最大値(最小値)が複数ある場合は少し注意が必要ですので、このあたりも含めて、基本的な使い方についてまとめます。 “[Python] リストの最大値、最小値とそのインデックスを取得する(max, min, index)” の続きを読む

【Python】 リストを変数に代入する際に気をつけること(参照渡し、copyによるコピー)

リストの要素をひとつだけ変更して新しいリストを作る際に、元のリストも値が変わってしまって困ったことはありませんか?
今回は、このような悩みを解決するために、

  • リスト(に限らずPythonのオブジェクト)の代入のからくり(参照渡し)
  • copy.copy()、copy.deepcopy()を使ってデータをコピーする方法

についてまとめます。 “【Python】 リストを変数に代入する際に気をつけること(参照渡し、copyによるコピー)” の続きを読む

[Python] リストの要素の数を数える (collections.Counter)

 list型(リスト)の中にどの要素が何個あるのか知りたい時は、collections.Counter()を使うと便利です。リストに含まれる要素とその数が辞書形式でまとめて取得できます。
 また、この関数によって生成されるCounterオブジェクトは、頻度の高い要素順に並べたり、別のリストの要素のカウントを後から加えたり、特定の要素のカウントを除いたりもできます。
 今回はこれらCounterオブジェクトの使い方についてまとめます。

“[Python] リストの要素の数を数える (collections.Counter)” の続きを読む