Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中替换字符串中的子字符串?_Python_Python 2.7 - Fatal编程技术网

如何在Python中替换字符串中的子字符串?

如何在Python中替换字符串中的子字符串?,python,python-2.7,Python,Python 2.7,我想从一个值字符串中替换一个子字符串。但是,在没有任何字符串组的情况下替换单个字符串并不容易 我有这样的数据: S.no Name预期结果 ------ ---------------------- ---------------------- 2341大道12341号 京士顿道南648号京士顿道南648号 贝弗利街西南3号贝弗利街西南 s.split()。每个单词都被加载到变量w中。s.split()中w的是列表表达式的一部分。 在的之前的部分确定在结果列表中收集的内容 如果d中的

我想从一个值字符串中替换一个子字符串。但是,在没有任何字符串组的情况下替换单个字符串并不容易

我有这样的数据:

S.no Name预期结果
------    ----------------------   ----------------------
2341大道12341号
京士顿道南648号京士顿道南648号
贝弗利街西南3号贝弗利街西南
s.split()。每个单词都被加载到变量w中。s.split()中w的
是列表表达式的一部分。
在
之前的部分确定在结果列表中收集的内容

如果d中的w
表示:测试单词是否在给定的替换词典
d
中。它查看字典的键。找到后,它返回字典值
d[w]
else
返回单词本身
w

结果列表使用
'
作为连接元素进行连接,因此单词列表被重新转换为字符串

列表表达式非常方便,常常导致这样的单行函数。所以我强烈建议你学习它们

除了在字典表单中键入所有键值之外,您还可以执行以下操作:

keys = [ # list here all keys ]
vals = [ # list here all corresponding values in the right order ]
d = {k: vals[i] for i, k in enumerate(keys)}
同样,您可以使用列表表达式的强大功能生成字典

# abstract it to a function
def lists2dict(keys_list, vals_list):
    return {k, vals_list[i] for i, k in enumerate(key_list)}

# and then call:
d = lists2dict(keys, vals)

建议将您尝试的解决方案包括在问题描述中。这将有助于其他人理解问题,发现可能的错误或提出新的解决方案。
d[w]如果w在d中,否则w
==>
d.get(w,w)
-请参见-回答得好谢谢你,帕特里克!真的!我看过dict.get(),但又回到了旧习惯:)-我将来也会使用dict.get(),永远
# abstract it to a function
def lists2dict(keys_list, vals_list):
    return {k, vals_list[i] for i, k in enumerate(key_list)}

# and then call:
d = lists2dict(keys, vals)