質問文がふわっとしていてすみません。どう書けばいいのか分かりませんでした。
前提・実現したいこと
a=[1,2,3,4,5,...,99,100]
b=[1,16,31,76]
という2つの配列があったときに、
「配列bの各要素から始まって、5つ分の要素をaから取り出す」という操作をしたいです。
つまり、
c=[1,2,3,4,5, 16,17,18,19,20, 31,32,33,34,35, 76,77,78,79,80]
という配列を作りたいのですが、スマートな書き方を教えていただきたいです。
今は
python3.x
1c= [] 2for num in b: 3 c += [a[num], a[num+1], a[num+2], a[num+3], a[num+4]] 4c = np.array(c)
という書き方をしています。これでも動くのですが何となくカッコ悪いなあと感じています。
内包表記とか使うとスマートにかけるという噂は聞いているのですが、お恥ずかしながらまだ全然使いこなせていません。
もしスマートに書ける方法がございましたら教えていただけますと嬉しいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/25 11:58
2019/09/25 12:10
2019/09/26 00:54
2019/09/26 01:35