Stack Exchangeでの検索で何らかの検索が行われましたが、探しているものが見つかりませんでした。リスト内のすべての項目に同じ文字列を先頭に追加
は、以下のリストを考える:
a = [1, 2, 3, 4]
はどのようにして作成します。
a = ['hello1', 'hello2', 'hello3', 'hello4']
感謝を!
Stack Exchangeでの検索で何らかの検索が行われましたが、探しているものが見つかりませんでした。リスト内のすべての項目に同じ文字列を先頭に追加
は、以下のリストを考える:
a = [1, 2, 3, 4]
はどのようにして作成します。
a = ['hello1', 'hello2', 'hello3', 'hello4']
感謝を!
はlist comprehensionを使用します。
['hello{0}'.format(i) for i in a]
リストの内包を使用すると、シーケンスの各要素に式を適用することができます。
デモ:
>>> a = [1,2,3,4]
>>> ['hello{0}'.format(i) for i in a]
['hello1', 'hello2', 'hello3', 'hello4']
ああ甘い!どうもありがとうございます。私はこの種のことを行うためにPythonに便利な構文があると確信していました。離れてリストの理解の詳細を読む。 –
はlist comprehensionを使用します。
In [1]: a = [1,2,3,4]
In [2]: ["hello" + str(x) for x in a]
Out[2]: ['hello1', 'hello2', 'hello3', 'hello4']
これは、最初の答えよりも多かれ少なかれ平易な方法ですか?私はそれを少し読むのが簡単だと思う。これは基本的にフードのフォーマット方法と同じですか? –
はPythonであると言うことはできませんが、まず 'int'を' string'に変換する必要があります。これは 'format()'で簡単に処理できるので、 'format()'の答えになります。 –
ありがとう@AshwiniChaudhary。非常に役立ちます。 –
もう一つのオプションはbuilt-in map functionを使用することです:WolframHコメントどおり
a = range(10)
map(lambda x: 'hello%i' % x, a)
編集:
map('hello{0}'.format, a)
ありがとうございます。男、私は学ぶほどのことがあります。 –
あなたは大歓迎です –
特に 'lambda'がまだ分からない場合は' map( 'hello {0}'。format、a) 'を使用してください。注意:Python 3.xで 'map'は' list'を返しません(ただし、 'list()'を使って 'list'に変換できるもう一つの反復可能なオブジェクトです)。 – WolframH
あなたは周りの引用符を置くために、あなたの投稿を編集でした文字列? – Nicolas
それについて残念 - まだ非常にPythonに新鮮な! –