我不久前發布了我的問題,雖然我得到了答案,但我所看到的一切仍然無濟于事......
所以我有兩個串列,我希望如果 list2 的元素中存在 list1 中的元素,則從 list2 中洗掉該元素,但直到現在我還沒有找到如何實作這一點。
例如,我有這兩個串列:
lst_1=["A","B","C"]
lst_2 = ["123A","564Z","Beee","CD152"]
所以我想檢查 list_2 元素是否包含 list_1 元素如果是洗掉它!
所以在這里,例如我想要一個 result_lst 的輸出:
["564Z"]
我試著這樣做:
lst=["A","B","C"]
ma_var_lst = ["123A","564Z","Beee","CD152"]
for elem in ma_var_lst:
for letter in lst:
if letter in elem:
print("element: " elem)
ma_var_lst.remove(elem)
print(ma_var_lst)
但它不會作業,因為洗掉元素后索引會移動....
如果有人可以幫忙!:) 謝謝 !
uj5u.com熱心網友回復:
我試過了,這對我有用。
lst = ["A", "B", "C"]
ma_var_lst = ["123A", "564Z", "Beee", "CD152"]
for letter in lst:
for elem in ma_var_lst:
for x in elem:
if letter == x:
print(elem)
ma_var_lst.remove(elem)
break
print(ma_var_lst)
uj5u.com熱心網友回復:
我也找到了一種使用索引的方法:
lst=["A","B","C"]
ma_var_lst = ["123A","564Z","Beee","CD152"]
indexes=[]
for elem in ma_var_lst:
for letter in lst:
if letter in elem:
# get the index of the element
index = ma_var_lst.index(elem)
indexes.append(index)
print("element: " elem)
#ma_var_lst.remove(elem)
for i in sorted(indexes, reverse=True):
del ma_var_lst[i]
print(ma_var_lst)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/391582.html
上一篇:我在python中遇到回圈問題
