【发布时间】:2016-01-15 11:18:34
【问题描述】:
假设我有一个这样的列表
myList = ['A_x1', 'B_x2', 'C_x1', 'D_x3', 'E_x1']
还有这样的字典
myDict = {'_x1': 0.1, '_x2': 0.5, '_x3': 0.7}
现在我想将myList 中的所有字符串替换为myDict 中存储的与该字符串结尾相关联的值。我当然可以通过以下方式实现:
for ind, l in enumerate(myList):
for k in myDict.iterkeys():
if l.endswith(k):
myList[ind] = myDict[k]
这给了我想要的输出:
[0.1, 0.5, 0.1, 0.7, 0.1].
但是如何使用例如map 或其他更有效的方法?
【问题讨论】:
-
总是最后三个字符吗?
-
@AnandSKumar:不,结尾可以有不同的长度。
-
你总是只排除第一个字符吗?
-
@Cleb 它总是以
_开头吗? -
@inspectorG4dget:不,您也可以将 'WE_someending' 作为字符串。
标签: python regex dictionary replace