python - 替换列表中的单词并附加到同一个列表

标签 python list

我的 list :

city=['Venango Municiplaity', 'Waterford ship','New York']

预期结果:

city = ['Venango Municiplaity ', 'Waterford ship','New York','Venango','Waterford']

常用词:

common_words = ['ship','municipality']

扫描我的列表中的所有项目,去掉常用词并重新插入到同一个列表中,如预期结果所示。

我可以搜索包含常用词的项目,但不知道如何将其替换为空白并重新插入到我的列表中。

到目前为止我的代码:

for item in city:
    if(any(x in s.lower() for s in item.split(' ') for x in common_words)) :

最佳答案

我编写了一个按预期工作的小代码:

city=['Venango Municiplaity', 'Waterford ship','New York']
comwo = ['ship','municipality']
for i, c in enumerate(city):
    for ii in comwo:
        if ii in c:
            city.append(city[i].replace(ii,""))
print(city)

输出:

['Venango Municiplaity', 'Waterford ship', 'New York', 'Waterford ']

注意:

您创建的列表包含错误的拼写。
查看列表 city 的第一个元素 VenangoMuniciplaity 和 common_words 的第二个元素 municipality

如果你想在单行中这样做:

[city.append(city[i].replace(ii,"")) for ii in comwo for i, c in enumerate(city) if ii in c]

我使用列表推导追加到列表city


编辑:

所以如果你还想替换单词后面的空格(如果有的话)那么我做了一个单独的代码:

city=['Village home', 'Villagehome','New York']
comwo = ['home']
for i, c in enumerate(city):
    for ii in comwo:
        if ii in c:
            city.append(city[i].replace(" "+ii,"")) if city[i].replace(" "+ii,"") != city[i] else city.append(city[i].replace(ii,""))
print(city)

输出:

['Village home', 'Villagehome', 'New York', 'Village', 'Village']

如果你也需要这个单行:

[city.append(city[i].replace(" "+ii,"")) if city[i].replace(" "+ii,"") != city[i] else city.append(city[i].replace(ii,"")) for ii in comwo for i, c in enumerate(city) if ii in c]

关于python - 替换列表中的单词并附加到同一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51961712/

相关文章:

Python Flask 请求 400 错误代码

python - 处理来自同一事件循环的 SimpleXMLRPCServer 调用和 Asyncore.dispatchers 事件

c# - 初始化语法与无参数构造函数语法

python - random.shuffle 在用列表乘法制作的列表列表中表现得很奇怪

Python 统计模型 - AttributeError : 'ARMAResults' object has no attribute 'plot_predict'

python - 如何使用 Flask-WTForms 以 DRY 方式创建重复的表单元素?

python - 使用动态版本的 Python 执行嵌入的 Python 代码时出现致命的 Python 错误

使用 2 个以上列表的 Python AND 运算符

python - 您可以在另一个列表的元素中复制一个列表吗?

python - 为什么 python 中的列表会这样?