如何在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)