質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

3回答

736閲覧

python リスト内包表記の記述の仕方について

TheBullchannel

総合スコア33

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/07/10 13:22

リスト内包表記を用いて、下記の通り"りんご","いちご","みかん" が3回続くリストを作成したいです。

str_l = ["りんご","いちご","みかん","りんご","いちご","みかん","りんご","いちご","みかん",]

str = ["りんご","いちご","みかん"]
というリストを作成し、
str_l = [str[i] for i in range(9)]

等と試してみましたが、うまくいきません。

どのように記述すればよいか、ご教示ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

2個のforを持つ内包表記を使うと、以下のようになります。

python

1>>> fruits = ["りんご","いちご","みかん"] 2>>> fruits3 = [fruit for _ in range(3) for fruit in fruits] 3>>> print(fruits3) 4['りんご', 'いちご', 'みかん', 'りんご', 'いちご', 'みかん', 'りんご', 'いちご', 'みかん']

投稿2021/07/11 16:13

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TheBullchannel

2021/07/12 14:29

リスト内包表記で、for文を2回重ねることによってできるのですね。 勉強になりました。ありがとうございます。
guest

0

strの添え字の値として使えるのは0 1 2だけなので、
[str[i%3] for i in range(9)]
でしょうか。

なお、strという変数名を使うと、以降str関数が使えなくなるので普通はそういう名前は使いません。

投稿2021/07/10 15:33

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

python

1str = ["りんご","いちご","みかん"] 2print(str*3) 3

['りんご', 'いちご', 'みかん', 'りんご', 'いちご', 'みかん', 'りんご', 'いちご', 'みかん']

投稿2021/07/10 13:26

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TheBullchannel

2021/07/12 14:30

内包表記を用いずに、単純な方法で実現できたのですね。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問