替换不相等的嵌套列表中的字符串

replace strings in unequal nested lists

我有一个包含字符串的不相等嵌套列表。

newlist=[['realoldbone', 'thenewhouse', 'oldking'],
         ['softhat', 'hatoldhat'],
         ['shirt', 'sweatshirt', 'myoldShirt']]

对于两个特征来说,

Features=["old","new"]

如果newlist中的元素包含Features中的一个元素,我想用Features中的那个元素替换它。所以,最终的答案会是这样的:

newlist=[['old', 'new', 'old'],
     ['softhat', 'old'],
     ['shirt', 'sweatshirt', 'old']]

我想不出实现此目标的方法。我尝试使用 for j in i for i in newlist 类型的循环以及字符串匹配但无济于事。所以, 感谢您的建议。

最简单的情况是遍历列表并修改是否存在特征:

for feature in Features:
    for lst in newlist:
        for i, item in enumerate(lst):
            if feature in item:
                lst[i] = feature
print(newlist)

输出:

[['old', 'new', 'old'], ['softhat', 'old'], ['shirt', 'sweatshirt', 'old']]