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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

808閲覧

Python for文の使い方

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/19 00:39

for文にてリストの値を抽出して主力内容に反映させたいのですが
下記内容のようになってしまいます。
printで主力する文章中にリストな中の値を抽出したいのですが
下記内容のどの部分を修正したらいいのかがわかりません。

お手数おかけしますがご教授お願いいたします。

Python

1 2aa = ['a','2','3'] 3 4for a in aa: 5 print('sasaas(a)') 6 7#「出力結果」 8sasaas(a) 9sasaas(a) 10sasaas(a)

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

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

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

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

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

guest

回答1

0

ベストアンサー

文字列の中で変数を展開する方法はいくつかあります。
このページが勉強になると思います。
Pythonの文字列の中で変数を展開する方法 | HEADBOOST

とりあえず私が手っ取り早いと思うのはf文字列を使うことですね。

Python

1 print(f'sasaas({a})')

投稿2021/09/19 00:45

itagagaki

総合スコア8402

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

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

退会済みユーザー

退会済みユーザー

2021/09/19 01:07 編集

itagagaki様 質問にたいする回答ありがとうございます。 教えていただいた内容で解決しました。
退会済みユーザー

退会済みユーザー

2021/09/19 01:06 編集

先ほど教えていただいた内容ですが、変数に代入しようとすると出力結果が aa = ['a','2','3'] for a in aa: sa = f'sasaas({a})' sa 'sasaas(3)'#リストの内容でなく個数が表示されてしまいます。 どのようにしたらリストの内容を表示することが可能でしょうか? よろしければご教授お願いいたします。
itagagaki

2021/09/19 01:16

for a in aaの中で print sa または sa したら3行出ますよね sasaas(3) はその3行目では? aaの3番目の値(内容)は3なので
BeatStar

2021/09/19 01:18 編集

(ご本人による追記があったので伏せる)
退会済みユーザー

退会済みユーザー

2021/09/19 01:59

itagaki様 返信ありがとうございます。 おっしゃる通り、for文の中でprintすると三行表示されました。 変数に代入して変数を出力すると三行目だけ出力されるのはなぜなのでしょうか?printした時と同じく三行出力されるものだと認識していました。
itagagaki

2021/09/19 02:11

ええと、forループの中でsaという変数に代入したわけですね。 ということはsaの値はループを回るごとに書き換えられるわけですね。 ループを終了した後、saの値は、最後に書き換えられた値です。 ループを回った数(この場合3つ)それぞれの値が欲しいなら配列を使いましょう。
退会済みユーザー

退会済みユーザー

2021/09/19 02:51 編集

itagagaki様 printすると代入された値が順番に表示されるが、変数に順番に代入された値を出力すれば一番最後に実行された内容が出力されるということ理解出来ました。ありがとうございます。 特定の文書の中にリストの値を代入し、それをリストとして再度出力したいというのが今回の狙いなのですが、itagaki様が言われる配列を使ってというやり方がわかりません。 リストに順次for文で取得してきた値を代入させる方法があるのでしょうか。 よろしければ教えていただけないでしょうか。 お手数おかけしますがよろしくお願いいたします。
itagagaki

2021/09/19 02:54

配列と言いましたが、リストのことです。 aaの内容から、saという別のリストを作ればいいわけですよね。 saという空リストを用意する forループで、リストsaに新しく作った要素を追加していく という処理をすればいいわけです。 リストの操作はこちらで学んでみてください。 【初心者向け】Pythonのリストを解説!データの追加方法や並び替え方がわかる! | TechTeacher Blog https://www.tech-teacher.jp/blog/python-list/
退会済みユーザー

退会済みユーザー

2021/09/19 03:26

itagagaki様 くどくど質問した内容に都度ご返答いただき誠にありがとうございました。 頂いたリスト追記処理の資料を見ながら記述した結果、私が得たかった値を得ることができました。(下記内容) cc = list()#空リスト作成 aa = ['a','b','c'] for a in aa: cc.append(f'sasaas{a}')#空リストへの代入 print(cc) 「出力内容」 ['sasaasa', 'sasaasb', 'sasaasc'] この度は誠にありがとうございました。 まだわからないことばかりでまた投稿させていただきますのでお時間ありましたらまたご教授よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問