给定这个列表
my_lst = ['LAC', 'HOU', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
我想根据字典值更改它的 0th
和 1st
值:
def translate(my_lst):
subs = {
"Houston": "HOU",
"L.A. Clippers": "LAC",
}
所以列表变成:
['L.A. Clippers', 'Houston', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
最佳答案
如果所有值都是唯一的,那么您应该首先反转字典以获得有效的解决方案:
>>> subs = {
... "Houston": "HOU",
... "L.A. Clippers": "LAC",
...
... }
>>> rev_subs = { v:k for k,v in subs.iteritems()}
>>> [rev_subs.get(item,item) for item in my_lst]
['L.A. Clippers', 'Houston', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']
如果您只想更新选定的索引,请尝试:
indexes = [0, 1]
for ind in indexes:
val = my_lst[ind]
my_lst[ind] = rev_subs.get(val, val)
关于python - 如何使用字典查找替换列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295776/