替换不相等的嵌套列表中的字符串
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']]
我有一个包含字符串的不相等嵌套列表。
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']]