- 
				
				暮色呼如 定义一个函数来反转对,然后使用 mapIn [759]: def usd_base(ccy):     ...:     delimiter = '/'     ...:     base, term = ccy.split(delimiter)     ...:     if base != 'USD' and term == 'USD':     ...:         return delimiter.join((term, base))     ...:     return ccy     ...:In [760]: list(map(usd_base, l))Out[760]:['USD/EUR', 'USD/JPY', 'USD/GBP', 'USD/CAD', 'USD/AUD', 'USD/NZD', 'USD/CHF', 'USD/NOK', 'USD/SEK']如果您还没有使用 a DataFrame,则可能没有理由为此目的list而为该大小创建一个对于 Python 2,您可以使用map(usd_base, l) 
- 
				
				jeck猫 我会这样写,IMO 更具可读性。>>> l=['EUR/USD', 'USD/JPY', 'GBP/USD', 'USD/CAD', 'AUD/USD', 'NZD/USD', 'USD/CHF', 'USD/NOK', 'USD/SEK']>>>>>> result = []>>> delim = '/'>>> for currencies in l:...:    first, second = currencies.split(delim)...:    if first == 'USD':...:        result.append(currencies)...:    else:...:        result.append(delim.join((second, first)))...:        >>> result>>> ['USD/EUR', 'USD/JPY', 'USD/GBP', 'USD/CAD', 'USD/AUD', 'USD/NZD', 'USD/CHF', 'USD/NOK', 'USD/SEK']作为一般提示,在像瘟疫一样迭代时避免使用显式索引。通常有比使用整数索引数据结构更易读的解决方案(当然,并非总是如此)。 
- 
				
				慕容森 您可以使用endswith+ split+存档join['/'.join(i.split('/')[::-1]) if i.endswith('USD') else i for i in l]结果['USD/EUR', 'USD/JPY', 'USD/GBP', 'USD/CAD', 'USD/AUD', 'USD/NZD', 'USD/CHF', 'USD/NOK', 'USD/SEK']