说我有一个项目颜色对的列表:


  Item1红色
  
  Item2 red_in_finnish
  
  Item3 red_in_polish
  
  Item4 blue_in_russian
  
  项目5 blue_in_estonian
  
  Item6 blue_in_polish


我需要将所有颜色翻译成英语:


  Item1红色
  
  Item2红色
  
  Item3红色
  
  Item4蓝色
  
  Item5蓝色
  
  Item6蓝色


在我的实际代码中,我有两种以上的颜色,以及大约十二种不同的数组,其中包含每种颜色的所有外来词。这是我执行替换的当前方式:

red_words = ['red_in_finnish', 'red_in_polish']
blue_words = ['blue_in_russian', 'blue_in_estonian', 'blue_in_polish']

for word in red_words:
   if word in item_name:
      item_name = item_name.replace(word, "red")


问题是我事先不知道每个名称是否包含任何特定颜色,因此我需要检查所有名称以确保我替换了所有内容。

有什么聪明的方法吗?如果可以以某种方式将颜色的外来名称映射到其英文名称,那将是完美的。

最佳答案

您也可以尝试使用字典

item_name = "hello my color is red_in_estonian"
dic = {
    "red_in_estonian"  :  "red",
    "red_in_german"    :  "red",
    "blue_in_estonian" :  "blue",
    "blue_in_german"   :  "blue",
}
for word in item_name.split(" "):
    try:
        translation = dic[word]
        item_name = item_name.replace(word, translation)

    except:
        pass

关于python - 使用单词列表翻译成英语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56320539/

10-13 05:47