所以我目前有一堆模擬串列,比如這個。樣本:
l = ['a','a','c','d']
l2 = ['c','b','b','d']
l3 = ['c','b','b','d','x','z']
l4 = ['a','c','a','a']
我想要做的是檢查每個串列中的任何值是否等于另一個串列中的任何值。
target_l = ['a','b']
如果是這樣,我想將這些串列中的每個元素更改為匹配的元素。
想要的結果:
l = ['a','a','a','a']
l2 = ['b','b','b','b']
l3 = ['b','b','b','b','b','b']
l4 = ['a','a','a','a']
uj5u.com熱心網友回復:
使用for回圈遍歷所有可能的目標。當您看到匹配項時,替換所有元素和break:
for lst in [l, l2, l3, l4]:
for target in target_l:
if target in lst:
lst[:] = [target] * len(lst)
break
print(l, l2, l3, l4, sep='\n')
這輸出:
['a', 'a', 'a', 'a']
['b', 'b', 'b', 'b']
['b', 'b', 'b', 'b', 'b', 'b']
['a', 'a', 'a', 'a']
uj5u.com熱心網友回復:
您可以這樣做l:
for e in target_l:
if e in l:
l = [e]*len(l)
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/479030.html
標籤:Python
上一篇:如何使用asyncio.Protocol在pythonasyncio中創建和運行兩個或多個(多個)服務器
下一篇:洗掉多列中的前nan行
