如何根据Python中的值使用不同的动作进行列表迭代

问题描述

我有一份语言清单。例如

languages = ['RU',' EN',' DE']

我需要用每种语言的不同动作来说明。 我正在尝试通过以下方式进行操作:

for x in languages:
    if x == 'EN':
        print(x,'English')
    elif x == 'RU':
        print(x,'Russian')
    elif x == 'DE':
        print(x,'German')
    else:
        print('New Language')

但是我只有一种语言的结果。

RU Russian
New Language
New Language
New Language
New Language

如何获取列表中每种语言的结果? 谢谢

解决方法

这是因为空格被视为字符。删除该空格或对字符串使用strip方法。

languages = ['RU','EN','DE']
if x.strip() == 'EN':
   ...
,

您的语言列表中有一些多余的空间,只需将其删除并检查即可。

languages = ['RU','DE']
,

如果您仔细查看列表中的缩写(除了'RU'之外还有空格),请在比较之前使用strip方法消除空格

languages = ['RU',' EN',' DE']

for x in languages:
    x=x.strip()
    if x == 'EN':
        print(x,'English')
    elif x == 'RU':
        print(x,'Russian')
    elif x == 'DE':
        print(x,'German')
    else:
        print('New Language')