LoginSignup
0
0

リスト内包表記について簡単にまとめてみた

Last updated at Posted at 2023-05-31

forループでリスト作るのめんどくさいぞ

2の累乗のリストを作るとする
forループを使うと

a = []
for i in range(1,11):
  a.append(i*2)
print(a)

まあまあめんどくさい
これをリスト内包表記で書くと

a = [i*2 for i in range(1,11)]
print(a)

となる
一行で書けてしまう圧倒的スマートさ
かっこいい。

慣れるまで少し時間がかかるかもしれないが、使いこなせればめちゃ便利

リスト内包表記の書き方を学ぼう

文法としては

[式    for    iなどの任意の変数    in     range()などの範囲指定]

となる

いくつかの使用例を下記にまとめる

b = [1 for i in range(10)]
print(b)
# [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

c = ["5" for i in range(10)]
print(c)
# ['5', '5', '5', '5', '5', '5', '5', '5', '5', '5']

d = [int(i) for i in c]
print(d)
# [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

(実際これらは指摘していただいた通り、他のやり方で十分かのうではある
pythonを触っていて内包表記でやると便利だった、と思ったことをこれからもここに追加していくとする)

最初に書く式というのは数式でもいいし文字でもいいし関数でもいい
リストcで'5'を十個格納したリストを作った、これをdでは全てをint型に直している
この時、range()を使わなくとも、cと書けばリストcの要素分forを回してくれる

0
0
1

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
0