7
4

2 回答 2

6
于 2017-03-08T19:15:19.827 回答
3

您可以使用自己的翻译表。
缺点是您必须手动输入所有配对,或者您有一个文件可以从中获取。
例如:

# Sample Korean chars to map
k = [[('버리', '어'), ('버려')], [('가보', '아'), ('가봐')], [('끝나', 'ㄹ'), ('끝날')]]

class Korean(object):
    def __init__(self):
        self.map = {}

        for m in k:
            key = m[0][0] + m[0][1]
            self.map[hash(key)] = m[1]

    def __getitem__(self, item):
        return self.map[hash(item)]

    def translate(self, s):
        return [ self.map[hash(token)] for token in s]

if __name__ == '__main__':
    k_map = Korean()
    k_chars = [ m[0][0] + m[0][1] for m in  k]

    print('Input: %s' % k_chars)
    print('Output: %s' % k_map.translate(k_chars))

    one_char_3 = k[0][0][0] + k[0][0][1]
    print('%s = %s' % (one_char_3, k_map[ one_char_3 ]) )

输入:['버리어', '가보아', '끝나ㄹ']
输出:['버려', '가봐', '끝날']
버리어 = 버려

用 Python 测试:3.4.2

于 2017-03-02T17:24:46.357 回答