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

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

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

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

Q&A

解決済

3回答

733閲覧

pythonの変数内にある全ての要素の文末に共通の文字列をつけたいです

learn-learn

総合スコア20

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2019/01/26 15:44

前提・実現したいこと

以下のソースコードを確認のうえ、
①listの要素にあるもの全ての文末にyouを入れたい
②変数listと文字列youとの間にある『', '』を削除したい
どちらかの方法、または両方をご教授いただけないでしょうか。

ソースコード

list = ["あ","い",3,4,5] for lists in list: a = lists,"you" print(a)

結果

('あ', 'you') ('い', 'you') (3, 'you') (4, 'you') (5, 'you')

試したこと

stripやreplaceなどを用いましたができなかったので質問させていただいました。

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

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

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

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

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

guest

回答3

0

ベストアンサー

3つの方法を書いてみました。
1番目は、質問文のコードベースに 出力から ( や , などを削除するようにしたもの。
2番目は、それをすこく短くしたもの。
3番目は、 リスト自体の各要素を you を付けたものに変換するようにしたもの。

a.py

python3

1data = ["あ", "い", 3, 4, 5] 2 3for e in data: 4 a = e, "you" 5 print(*a, sep='') 6 7print() 8for e in data: 9 print(e, 'you', sep='') 10 11print() 12data_x = [str(e) + 'you' for e in data] 13# print(data_x) 14print(*data_x, sep="\n")

実行例
イメージ説明

投稿2019/01/26 22:38

katoy

総合スコア22324

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

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

0

値を置き換えたいのか? とも思いましたが、文字列はともかく整数型だと連結の仕様がありませんから、なにか違う意図があると踏みました。

コードを見た感じだと、単にprintしたいだけ、ですか?

python

1lst = ["あ","い",3,4,5] 2for x in lst: 3 print(x, "you") 4""" => 5あ you 6い you 73 you 84 you 95 you

間のスペースが邪魔なら、printにsep=""のオプション引数を追加する。

投稿2019/01/26 16:30

hayataka2049

総合スコア30933

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

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

0

インデックスを利用するのが最も安直な方法です。

Python

1for i in range(len(lst)): 2 lst[i] = f'{lst[i]}you' # str(lst[i]) + 'you' でも可

あるいは

Python

1for i, e in enumerate(lst): 2 lst[i] = f'{e}you' # str(e) + 'you' でも可

新しくリストを作り直すのもまた有効でしょう。

Python

1dst = [] 2for e in lst: 3 dst.append(f'{e}you') # str(e) + 'you' でも可

あるいは

Python

1lst = [ 2 '{}you'.format(e) for e in lst # str(e) + 'you' でも可 3]

文字列に変数の値を埋め込む有効な方法はバージョンに依って異なります。

  • f-string (Python3.6以降)
  • str.format
  • %記法

なお

変数に list と命名するのは厳に避けてください。
分かりづらいエラーを引き起こします。

Python

1>>> list('spam') 2['s', 'p', 'a', 'm'] 3>>> 4>>> list = [] 5>>> 6>>> list('spam') 7Traceback (most recent call last): 8 File "<stdin>", line 1, in <module> 9TypeError: 'list' object is not callable

同様につけてしまいがちな名前としては、max id len str などがあります。

投稿2019/01/26 15:47

編集2019/01/26 15:55
LouiS0616

総合スコア35660

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問