首页 > 解决方案 > 如何替换元组列表的某些字符

问题描述

我有这个元组列表(POS标签),我需要更改一些字符,前提是它们位于元组的第二个元素中:

例如:

x = [('We', 'PRP'), ("'re", 'VBP'), ('really', 'RB$'), ('sorry', 'JJ'), ('...', ':')]

我需要更改第二个元素的“奇怪”字符,在此示例中:RB$ 和:。

我试过了:

x_2[x.index(':')] = 'Dts'

x_2[x_2.index[,('$')]] = 'S'

我期望这个输出:

x_2 = [('We', 'PRP'), ("'re", 'VBP'), ('really', 'RBS'), ('sorry', 'JJ'), ('...', 'Dts')]

在此先感谢,如果这是一个非常基本的问题,我很抱歉,我对 python 很陌生。

标签: pythonlistreplacetuples

解决方案


我不确定为什么要更改这些字符串,所以我不知道更改它们的逻辑,但我只会保留一个需要更改的字典(除非有不同的逻辑并且需要更改更多的字符串而不仅仅是这个例子)

to_change = {
    ':': 'Dts', 
    'RB$': 'RBS'
}

然后改变它们

x_2 = [(f, to_change.get(s, s)) for f,s in x]

推荐阅读