我对python非常新,我尝试用x给出列表中的元素,因为具体列表具有相同的元素。例如:替换python列表中的元素
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]
我对python非常新,我尝试用x给出列表中的元素,因为具体列表具有相同的元素。例如:替换python列表中的元素
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]
使用列表理解重建列表,三元,以决定是否保留原始元素或更换:
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
而不是result
(经典的循环,也可以代替理解)不要使用'l'作为变量名要么,因为它看起来太像'1'。 –
确定好点:) –
Dv警察再次袭击。不是我在乎... –
你可以使用for循环在一个while循环中来做到这一点。
counter = 0
while counter < len(list):
for x in a:
if list[counter] == x:
list[counter] = "x"
counter += 1
为什么使用'while'循环?为什么要循环一次?只要检查''中的元素是否...'它正在循环'a',但不是Python。 –
尝试'名单= [“X”如果我在列表中的一样,我对我]' –