假设我有这样如何用数字替换列表中的字符串根据其结尾?
myList = ['A_x1', 'B_x2', 'C_x1', 'D_x3', 'E_x1']
列表,并像这样
myDict = {'_x1': 0.1, '_x2': 0.5, '_x3': 0.7}
字典现在我想通过关联到这个结局存储在myDict
值来替换所有字符串myList
串。当然,我可以做到这一点通过以下:
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
还是其他更有效?
是它总是在最后3个字符? –
@AnandSKumar:不,结局可以有不同的长度。 – Cleb
你总是只排除第一个字符吗? – inspectorG4dget