0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python リスト内包表記の書き方

Last updated at Posted at 2024-02-07

最近Pythonについて勉強していて、リスト内容表記が便利だったので備忘としてまとめます。

基本形

リスト内包型表記の基本形は以下です。

new_list = [new_item for item in list]

一言で簡単に説明すると、

listの1つ1つの要素をitemとして取り出し、新要素new_itemとしてnew_listに追加する。」

という感じです。

例としては、リスト内包表記を使わず以下のように書いていたプログラムを

list = [1, 2, 3]
new_list = []
for item in list:
    new_item *= 2
    new_list.append(new_item)
    # new_list = [2, 4, 6]

以下のように簡潔に書くことができます。

list = [1, 2, 3]
new_list = [item * 2 for item in list]
# new_list = [2, 4, 6]

ちなみにリストだけでなく文字列でも使うことができ、
文字列の場合は先頭から1文字1文字取り出して処理することができます。

ifとの組み合わせ

リスト内包表記はifと組み合わせることができます。
ifと組み合わせることで、元となるリストから取得する要素をフィルタできます。

書き方は以下です。

new_list = [new_item for item in list if condition]

例として、リスト内包表記を使わず以下のように書いていたプログラムを

list = [1, 2, 3, 4]
new_list = []
for item in list:
    if item % 2 == 0:
        new_item *= 2
        new_list.append(new_item)
        # new_list = [4, 8]

以下のように書くことができます。

list = [1, 2, 3, 4]
new_list = [item * 2 for item in list if item % 2 == 0]
# new_list = [4, 8]

一旦以上ですが、
if elseのあわせ技や、タプルで使えたりもするようなので
それら今後追記したいと思ったことがあれば追記します。


【宣伝】
Next.jsを使って技術系ブロクを作りました。
めちゃくちゃのんびり投稿しているので記事は少ないですが、よかったら見てやってください。
こちら

https://www.nattomatofu.com/

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?