【问题标题】:Replace string within a list that's NOT equal to a value in Python替换列表中不等于 Python 中的值的字符串
【发布时间】:2020-11-25 05:34:22
【问题描述】:

我有一个包含不同名称的列表:

list = ['Tom', 'Mary', 'Robin', 'Tom']

我想做的是将'Tom'替换为'MESSAGE',将其他所有人替换为'RESPONSE'

如下: list = ['MESSAGE', 'RESPONSE', 'RESPONSE', 'MESSAGE']

有办法吗?最好只使用一行代码。

【问题讨论】:

    标签: python string list


    【解决方案1】:

    这是一个简单的列表理解:

    ["MESSAGE" if name == "Tom" else "RESPONSE" for name in list]
    

    附带说明,请勿使用 list 等内置函数来命名变量。

    【讨论】:

      【解决方案2】:

      你可以试试list comprehension:

      list = ["MESSAGE" if item == "Tom" else "RESPONSE" for item in list]
      

      【讨论】:

        【解决方案3】:

        这是一个尝试,它在一个单一的行中。如果列表仅包含 2 个唯一值,则

        replacedList = ['MESSAGE' if item == 'Tom' else 'RESPONSE' for item in list]
        

        来自here的参考

        【讨论】:

          猜你喜欢
          • 2019-01-30
          • 2010-10-20
          • 2019-02-26
          • 1970-01-01
          • 1970-01-01
          • 2013-06-20
          • 2017-11-02
          • 2021-12-19
          • 1970-01-01
          相关资源
          最近更新 更多