python list items&将语言代码转换为名称

时间:2012-05-16 09:05:39

标签: python list

我的数据存储中有一个语言列表,用于存储的国家/地区:

[u"[u'fa-AF'", u" u'ps'", u" u'uz-AF'", u" u'tk']"]

我希望输出为:

fa-AF,ps,uz-AF,tk

fa-AF - ps,uz-AF - tk

我尝试过几件事,但还没有成功。似乎导入到数据存储区的数据未正确导入。任何帮助对此都将不胜感激。

此外,我想了解如何使用这些代码显示语言名称的建议。

例如,如果我们有“en-US”,那么我们想将其显示为英语(美国) (注意:我们没有在数据存储区中存储语言名称。)

1 个答案:

答案 0 :(得分:4)

a = [u"[u'fa-AF'", u" u'ps'", u" u'uz-AF'", u" u'tk']"]

看起来像原始字符串的简单拆分。您可以重新构建字符串或删除单个元素:

import ast
codes = [ast.literal_eval(x.strip('[] ')).encode() for x in a]

codes = [elem.encode() for elem in ast.literal_eval(','.join(a))]

都返回:

['fa-AF', 'ps', 'uz-AF', 'tk']

语言名称可以存储在字典中,例如:

lang = {'fa-AF': 'farsi-Afghanistan', ... }

并使用

进行调用
for code in codes:
    print lang[code]

或者您可以查看Babel库。