2017-10-29 13 views
2

リストを変換するときに問題が発生しました:list=['1','2','3']' "1","2","3" 'に変換しました。リストを二重引用符で区切ってコンマで区切った単一の文字列に変換します

str(",".join('"{}"'.format(i) for i in list)) 

が、私の出力は次のとおりです:

私のコードがある "1","2","3"代わり

' "1","2","3" 'の私はあなたの提案を持っていてもいいですか?ありがとう。

+0

はなぜだけではなく、文字列の両側に空白を追加しますか? – Mureinik

+0

こんにちはMureinik、私は一重引用符と空白の両方を入れる必要があります。 – derec

答えて

2

重要な文字列に必要な部分文字列(一重引用符と空白)を追加/追加したくないのが分かります。
ここトリックstr.replace()と機能は次のとおり

lst = ['1','2','3'] 
result = "' - '".replace('-', ",".join('"{}"'.format(i) for i in lst)) 

print(result) 

出力:

' "1","2","3" ' 

  • "' - '" - プレースホルダ

として作用します

または追加str.format()関数呼び出しと同じ:

result = "' {} '".format(",".join('"{}"'.format(i) for i in lst)) 
+0

@derec、あなたは歓迎です – RomanPerekhrest

+0

なぜ*マクロ置換*という用語があるのか​​わかりません。なぜ '' '{}' ".format(...)'を使用していないのでしょうか?それでは、 '.replace( ' - '、...)'を使うと、特定の文字... –

+0

@JonClements、代替アプローチとして追加 – RomanPerekhrest

関連する問題