1

これは速いはずですが、何らかの理由で思いつきません。たとえば、長さ n の要素のリストがあるとします (要素の数は、将来のある時点で変更されます)。ただし、これを例として使用しましょう。

['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']

今私が望むのは、これを次のような文字列に出力することです:

("ESZ12", "ESH13", "ESM13", "ESU13, "ESZ13")

最初のものは実際には要素のリストであり、2 番目のものは単なる完全な文字列です。

ありがとう

4

7 に答える 7

4
In [4]: l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']

In [5]: print('(' + ', '.join('"%s"' % el for el in l) + ')')
("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")
于 2012-11-28T17:19:58.337 に答える
3

タプルのように見える文字列が必要な場合、最も簡単な方法はタプルに変換することです。

>>> l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> str(tuple(l))
"('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"
于 2012-11-28T17:21:39.650 に答える
2

使用join機能:

>>> a = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> '("' + '", "'.join(a) + '")'
'("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")'
于 2012-11-28T17:20:02.703 に答える
0

文字列に変換しますか?

"".join(my_list)

タプルにしますか?

my_tuple = tuple(my_list)
于 2012-11-28T17:19:24.300 に答える
0

期待される出力はタプルです。本当に文字列を意味する場合は、次を使用できます。

strx = ''
strx.join(list)
于 2012-11-28T17:19:38.710 に答える
0

これはどういう意味ですか?:

    x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
    y = str(tuple(x))
    print y

あなたは得る:

    "('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"

結果として。

于 2012-11-28T17:25:53.363 に答える
0

% フォーマットは廃止されましたが、便利な場合があります。たとえば、コード

x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
print '("%s")' % '", "'.join(x)

生成:

("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")

もちろん、印刷物を

print '("{}")'.format('", "'.join(x))

非推奨の % を使用しなくても、同じ結果が得られます。

于 2012-11-28T18:23:14.523 に答える