python - 如何使用字典查找替换列表中的元素

标签 python list replace

给定这个列表

my_lst = ['LAC', 'HOU', '03/03 06:11 PM', '2.13', '1.80', '03/03 03:42 PM']

我想根据字典值更改它的 0th1st 值:

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/

相关文章:

python - 在 plotly dash 中,如何将本地镜像文件提供给 dash.html.Img?

python - 如何使用 Python 中的时间序列预测来预测 future 日期?

python - 如何在列表中创建列表,其中每个 future 列表都由列表中的空格分隔

python - 将简单的 Web 服务器集成到 Python 中的自定义主循环中?

python - 我的错误是由于绝对路径问题造成的吗?

Python:如何以合理的性能仅获取嵌套 int 列表的正数

android - 按时间升序存入ArrayList

c - 在 *.txt 文件中搜索并更新 1 行 - C 语言

c - 如何在C编程中删除记录中的特定行(无法进行删除)

SQL,删除行尾逗号的出现