如果存在子字符串,python查找并替换列表项

标签 python string python-3.x list substring

<分区>

我想替换列表中包含特定子字符串的项目。在这种情况下,包含任何形式的“NSW”(大写很重要)的项目应替换为“NSW = 0”。原始条目是“NSW = 500”还是“NSW = 501”并不重要。我可以找到列表项,但不知何故我无法在列表中找到位置,所以我可以替换它?这是我想出的,但我替换了所有项目:

from __future__ import division, print_function, with_statement
my_list =["abc 123","acd 234","NSW = 500", "stuff","morestuff"]
for index, i in enumerate(my_list):
    if any("NSW" in s for s in my_list):
        print ("found")
        my_list[index]= "NSW = 0"
print (my_list)  

最佳答案

简单的列表理解:

>>> ["NSW = 0" if "NSW" in ele else ele for ele in l]

#驱动程序值:

IN :    l = ["abc 123", "acd 234", "NSW = 500", "stuff", "morestuff"]
OUT : ['abc 123', 'acd 234', 'NSW = 0', 'stuff', 'morestuff']

关于如果存在子字符串,python查找并替换列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47905783/

相关文章:

python - 从 for 循环中更新的字典制作可滚动的绘图

python - 如何管理文件中的某些网址内容?

python - 是否有用于生成类似于 R 的 seq 函数的序列的 numpy 函数?

c# - 从 int 输入确定回文

c++ - for循环和string函数中指针的操作和bool初值

python - 获取实际更新为不同值的列?

python - 更改字典列表中的元组

python - sqlalchemy REST 序列化

python - 文档字符串应该放在装饰器之前还是之后?

php - 在 PHP 中,在数组中搜索包含子字符串的值的快速方法是什么?