8

未知の単語の長さを表すためにアンダースコアを使用しています。リストを表すブラケットなしでアンダースコアのみを印刷するにはどうすればよいですか?

基本的に、フォームのリストがある場合['_', '_', '_', '_']、アンダースコアをリスト構文で出力せずに出力したい"_ _ _ _"

4

3 に答える 3

37

これはあなたのために働きますか

>>> my_dashes = ['_', '_', '_', '_']
>>> print ''.join(my_dashes)
____
>>> print ' '.join(my_dashes)
_ _ _ _
于 2012-10-26T21:51:36.930 に答える
1

前述のjoin解決策 (次の行のように) は合理的な解決策です。

print ''.join(['_', '_', '_', '_'])
____

reduce()ただし、ジョブを実行するために使用できることにも注意してください。

print reduce(lambda x,y: x+y, ['_', '_', '_', '_'])
____

import operatorあなたが言うことができる後:

print reduce(operator.add, ['_', '_', '_', '_'])
____
于 2012-10-26T22:26:17.510 に答える
1
In [1]: my_dashes = ['_', '_', '_', '_']

In [2]: str(my_dashes).translate(None, '[],\'')
Out[2]: '_ _ _ _'

ダッシュをまとめるには、deletechars 文字列に余分なスペースを追加します。

于 2012-10-26T22:07:15.230 に答える