我對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」如果我在列表中的一樣,我對我]' –