20

Stack Exchange で回答済みの質問をいくつか検索しましたが、探しているものが見つかりませんでした。

次のリストがあるとします。

a = [1, 2, 3, 4]

どのように作成しますか:

a = ['hello1', 'hello2', 'hello3', 'hello4']

ありがとう!

4

4 に答える 4

44

リスト内包表記を使用します:

[f'hello{i}' for i in a]

リスト内包表記を使用すると、シーケンス内の各要素に式を適用できます。ここで、その式はフォーマットされた文字列リテラルiであり、 で始まる文字列に組み込まれていますhello

デモ:

>>> a = [1,2,3,4]
>>> [f'hello{i}' for i in a]
['hello1', 'hello2', 'hello3', 'hello4']
于 2012-11-11T13:14:44.317 に答える
11

もう 1 つのオプションは、組み込みの map 関数を使用することです。

a = range(10)
map(lambda x: 'hello%i' % x, a)

WolframH のコメントに従って編集します。

map('hello{0}'.format, a)
于 2012-11-11T13:20:15.247 に答える
1

リスト内包表記を使用します:

In [1]: a = [1,2,3,4]

In [2]: ["hello" + str(x) for x in a]
Out[2]: ['hello1', 'hello2', 'hello3', 'hello4']
于 2012-11-11T13:14:40.307 に答える
0

%代わりに使用することもできますformat()

>>> a = [1, 2, 3, 4]
>>> ['hello%s' % i for i in a]
['hello1', 'hello2', 'hello3', 'hello4']
于 2018-05-07T09:48:07.753 に答える