【问题标题】:How to replace parts of strings in a list如何替换列表中的部分字符串
【发布时间】:2019-03-09 08:52:59
【问题描述】:

我对python不是很熟悉,也不知道该怎么做。所以我有一个看起来像这样的列表:

animal_id = ['id01', 'id02', 'id03', 'id04', 'id05']

我想从上面的列表中创建一个新列表,使用字符串操作。新列表应如下所示:

animal_list = ['a01', 'a02', 'a03', 'a04', 'a05']

我想我必须做一个 for 循环,但我不知道使用什么方法(在字符串中)来实现所需的输出

【问题讨论】:

    标签: python string list replace


    【解决方案1】:

    试试这个!

    我迭代循环直到animal_id 的大小并用'id' 分割animal_id 的每个元素。拆分后,它返回数字值,然后将数字与“a”连接起来。

    代码:

    animal_id = ['id01', 'id02', 'id03', 'id04', 'id05']
    for i in range(0,len(animal_id)):
        animal_id[i]='a' + animal_id[i].split("id")[1]
    print(animal_id)
    

    输出:

    ['a01', 'a02', 'a03', 'a04', 'a05'] 
    

    【讨论】:

      【解决方案2】:

      通过在列表的每个项目中将“id”替换为“a”,并创建一个包含这些项目的列表。

      animal_id = ['id01', 'id02', 'id03', 'id04', 'id05']
      
      animal_list = [i.replace('id','a') for i in animal_id]
      
      print(animal_list)
      

      输出:

      ['a01', 'a02', 'a03', 'a04', 'a05']
      

      【讨论】:

        【解决方案3】:

        您可以使用 list comprehensionstr.replace()id 更改为 a

        animal_list = [i.replace('id', 'a') for i in animal_id]
        # ['a01', 'a02', 'a03', 'a04', 'a05']
        

        扩展:

        animal_list = []
        for i in animal_id:
            i = i.replace('id', 'a')
            animal_list.append(i)
        

        【讨论】:

          【解决方案4】:

          使用列表理解:

          animal_id = ['id01', 'id02', 'id03', 'id04', 'id05']
          
          animal_list = [f'a{x[2:]}' for x in animal_id]
          # ['a01', 'a02', 'a03', 'a04', 'a05']
          

          【讨论】:

            【解决方案5】:

            创建一个新列表并使用字符串索引附加到它,只从原始列表项中选择最后 2 个字符

            new_animal = []
            for item in animal_id:
                new_animal.append('a'+ item[-2:])
            new_animal
            
            ['a01', 'a02', 'a03', 'a04', 'a05']
            

            【讨论】:

            • 'id100' 将失败。
            • 没错,只是说可以使用索引或替换其他答案中提到的索引。如果 id 的数量大于 100,那么您的答案是正确的。 @奥斯汀
            猜你喜欢
            • 2013-11-03
            • 1970-01-01
            • 1970-01-01
            • 2022-01-02
            • 2018-02-03
            • 2018-12-04
            • 2012-07-17
            • 2017-03-25
            相关资源
            最近更新 更多