0

リストを文字列に変換し、文字列操作を実行する必要があります。

両方の操作を1に変換する効果的な方法はありますか?

lista = ['col-1,','col-2,','col-3,']

stra = ' '.join(lista)

stra = stra.rstrip(',')
4

5 に答える 5

2

どう', '.join(['col-1', 'col-2', 'col-3'])ですか?そうすれば、まったく必要ありませんrstrip

于 2012-10-03T16:47:03.090 に答える
0

「両方の操作を1に変換する」とはどういう意味か完全にはわかりませんが、listaを制御できず、指定された形式であることに依存できる場合は、

' '.join(lista)[:-1]

listaを制御できる場合は、 nneonneoの提案に従い、リスト内のコンマを削除してください。

于 2012-10-03T16:57:52.347 に答える
0

あなたjoinは文字列を返すので..それで、それを保存する代わりに、もう1つのメソッド呼び出しを連鎖させることができます...

stra = ' '.join(Lista).rstrip(',')

または、これを行うことができます:-

stra = ' '.join(s.rstrip(',') for s in lista)

これにより、リストアイテムの間にコンマ(、)が出力されません。

于 2012-10-03T16:45:58.437 に答える
0

すべての文字列メソッドは新しい文字列を返します。

stra = " ".join(s.rstrip(",") for s in lista)

または、最後のカンマだけをトリミングしたい場合は、" ".join(lista).rstrip(",")

于 2012-10-03T16:46:36.647 に答える
0

メソッドは文字列を返すため、join()メソッドをチェーンできます。

stra = ' '.join(lista).rstrip(',')  # prints col-1, col-2, col-3

または、文字列を結合する前にコンマを削除したい場合(すべての文字列の最後にコンマがあるため、必要だと思います):

stra = ' '.join(map(lambda s: s.rstrip(','), lista))  # prints col-1 col-2 col-3

また:

stra = ' '.join(s.rstrip(',') for s in lista)  # prints col-1 col-2 col-3
于 2012-10-03T16:48:21.183 に答える