0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ランダムアクセス Python3編

Last updated at Posted at 2023-11-20

今日のお題はここから
https://paiza.jp/works/mondai/data_structure/data_structure__array_step1

要素数 N の数列 A と数値 M が与えられます。A の M 番目の値を出力してください。

今までの問題をやっていたら意外と!簡単にできてしまった。

N,M = map(int,input().split())
A = list(map(int,input().split()))
print(A[M-1])

Aの配列に入れるところを、ループでやってみる
今までは、arr= input().split()と配列に入れていた部分を、
下のようにそのままループにしてしまえる。

A =[]
for x in input().split():
    A.append(int(x))

そしてこれはもっと簡単にできて

A = [int(x) for x in input().split()]

こんな感じになる(なーんと!)
内包表記(ないほうひょうき)と呼ぶらしい。

一瞬書きにくいかもだが、
入れたい配列 = [(処理) for文の1行目]
でできる。
[]がappendの代わり、と思えばいいだろう。

ちなみにこれはif文も追加できる。
たとえば、x=2のときだけ追加したいとかだと、

A = [int(x) for x in input().split() if x=="2"]

と、if文の条件文だけ後ろに追加すればOK。
以前コメントを頂いた方の書かれたコードにもあったので
覚えておこう!(こっちは二重に[]を使っててそれを1行で書いててすごいです)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?