我是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]
答案 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