1

次の形式のリストがあります。

[ '2013,june,25,11,img1.ams.expertcity.com,/builds/g2m/1172/G2M_Mac_x86,84.83.189.112,3', '2013,june,25,11,img1.ams.expertcity.com,/builds/g2m/1172/G2MInstallerExtractor.exe,85.164.14.248,6', '2013,june,25,11,img1.syd.expertcity.com,/builds/g2m/1172/G2MCoreInstExtractor.exe,99.245.80.126,19']

リストの各要素について、最初の 3 つのカンマのみを「-」に置き換える必要があります。つまり、リストは次のようになります。

[ '2013-june-25-11,img1.ams.expertcity.com,/builds/g2m/1172/G2M_Mac_x86,84.83.189.112,3', '2013-june-25-11,img1.ams.expertcity.com,/builds/g2m/1172/G2MInstallerExtractor.exe,85.164.14.248,6', '2013-june-25-11,img1.syd.expertcity.com,/builds/g2m/1172/G2MCoreInstExtractor.exe,99.245.80.126,19'] 

replace を使用しようとしましたが、すべての「,」を「-」に置き換えてしまいます

mylist = [x.replace(",","-") for x in mylist]

リスト内の順序は時間の経過とともに変化する可能性があるため、正規表現を使用したくありません。これを行うためのより良い方法を提案してください。

4

1 に答える 1

5

これを使って : x.replace(",","-",3)

str.replaceには 3 番目のオプション引数がありますcount

ヘルプstr.replace:

S.replace(old, new[, count]) -> string

部分文字列 old をすべて new に置き換えた文字列 S のコピーを返します。オプションの引数countが指定されている場合、最初のcount 個の出現のみが置き換えられます。

于 2013-06-25T19:05:22.050 に答える