替换python列表中的元素

时间:2017-10-17 21:04:20

标签: python python-2.7 python-3.x

我是python的新手,我尝试用x替换列表的元素,因为具体列表具有相同的元素。例如:

list =[1,2,3,4,5,6,7,8,9]
a = [1,4,7,9]

列表应该变成:

list =[x,2,3,x,5,6,x,8,x]

2 个答案:

答案 0 :(得分:5)

使用列表推导重建列表,并使用三元组来决定是保留原始元素还是替换元素:

void analyzeAlgorithms(void (*function)(int*, int, int, int x = 0) ).

产生:

lst = [1,2,3,4,5,6,7,8,9]
a = {1,4,7,9}

result = ["x" if i in a else i for i in lst]

请注意,如果['x', 2, 3, 'x', 5, 6, 'x', 8, 'x'] 在一般情况下为a,则会更好,因为其中包含大量元素,因此查找速度比set更快。

注释:

  • 不要将list用作变量名称,因为它会隐藏list类型。我注意到你使用了list
  • 此方法会创建另一个lst,如果您要修改list,请分配给lst而不是lst(也可以使用经典循环代替理解)

答案 1 :(得分:0)

您可以在while循环中使用for循环来执行此操作。

counter = 0
while counter < len(list):
    for x in a:
        if list[counter] == x:
            list[counter] = "x"
    counter += 1