リストを文字列に変換し、文字列操作を実行する必要があります。
両方の操作を1に変換する効果的な方法はありますか?
lista = ['col-1,','col-2,','col-3,']
stra = ' '.join(lista)
stra = stra.rstrip(',')
どう', '.join(['col-1', 'col-2', 'col-3'])
ですか?そうすれば、まったく必要ありませんrstrip
。
「両方の操作を1に変換する」とはどういう意味か完全にはわかりませんが、listaを制御できず、指定された形式であることに依存できる場合は、
' '.join(lista)[:-1]
listaを制御できる場合は、 nneonneoの提案に従い、リスト内のコンマを削除してください。
あなたjoin
は文字列を返すので..それで、それを保存する代わりに、もう1つのメソッド呼び出しを連鎖させることができます...
stra = ' '.join(Lista).rstrip(',')
または、これを行うことができます:-
stra = ' '.join(s.rstrip(',') for s in lista)
これにより、リストアイテムの間にコンマ(、)が出力されません。
すべての文字列メソッドは新しい文字列を返します。
stra = " ".join(s.rstrip(",") for s in lista)
または、最後のカンマだけをトリミングしたい場合は、" ".join(lista).rstrip(",")
。
メソッドは文字列を返すため、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