【发布时间】:2021-05-02 03:20:20
【问题描述】:
我的 for 循环在列表方面遇到问题。 我有两个列表,如下所示。现在,如果两个列表中的名称匹配,我想删除该名称。我的代码
Input:
col = ['cat','dog','bird','fish']
col_names= [cat,bird]
r=[]
for i in col:
print(i)
if i in col_names: col_names.remove(i)
r.append(col_names)
print(r)
然后我得到这样的输出
r = [['dog','fish']] [['dog','fish']]
我想要的是:
r =['dog','bird','fish'] ['cat','dog','fish']
【问题讨论】:
-
这是什么
r =['dog','bird','fish'] ['cat','dog','fish']? -
r = [[i for i in col if i != n] for n in col_names]ORr = [list({n}.symmetric_difference(col)) for n in col_names]请注意,最后一个选项不会保留顺序
标签: python list dataframe for-loop