拆分列表中的字符串以查找和替换python中的元素

top*_*ntz 1 python split replace list

我有一个货币对列表,比方说,它看起来像这样:

cp = ['EURUSD', 'CHFUSD', 'JPYUSD', 'CADUSD']
Run Code Online (Sandbox Code Playgroud)

我要做的是遍历此列表,将USD更改为GBP以生成将显示的新列表:

new_cp = ['EURGBP', 'CHFGBP', 'JPYGBP', 'CADGBP']
Run Code Online (Sandbox Code Playgroud)

我假设我会这样做的方法是遍历每一对,将字符串拆分成一个列表,删除最后3个元素,然后将'G','B','P'追加为新的最后3个元素,最后将其返回到一个字符串,并将其添加到新列表'new_cp'.

我开始的代码是:

for pair in cp:
   split_pair = pair.split()
Run Code Online (Sandbox Code Playgroud)

但是,所有这些导致的结果是:

['EURUSD']
['CHFUSD']
Run Code Online (Sandbox Code Playgroud)

等等

所以它只是拆分列表,而不是拆分列表中每个货币对的字符串.

我知道这是相对初学的东西,但我真的很难过.我只是不明白为什么这不起作用.

如果你可以帮助解决我在那里做错的事情,或者甚至建议一种更有效的方式来实现我想要做的事情,那将非常感激.

小智 5

我建议使用这种.replace()方法

例如:

cp = ['EURUSD', 'CHFUSD', 'JPYUSD', 'CADUSD']
new_cp = []

for currency in cp:
    new_cp.append(currency.replace('USD', 'GBP'))

print(new_cp)

>> ['EURGBP', 'CHFGBP', 'JPYGBP', 'CADGBP']
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 :)